• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zamina słowa na liczbę

Object Storage Arubacloud
0 głosów
153 wizyt
pytanie zadane 16 stycznia 2018 w C i C++ przez Admin Cpp Początkujący (350 p.)
edycja 16 stycznia 2018 przez Admin Cpp

Witam

mam do rozwiązania zadanie, które polega na tym, że do komputera wprowadza się duże luterki i jeśli, któraś się powtórzy wiecej niż 2 razy ma on zastapić je liczbą np,

JHGHSIAAAAFFLK=JHGHSIA4FFLK

#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>

using namespace std;

int proba;
string a;


int main()
{
    cin>>proba;
    for(int g=1; g<=proba; g++)
    {
    cin>>a;
    transform(a.begin(),a.end(),a.begin(),::toupper);
    cout<<a<<endl;
    int wyraz=a.length();             //do tego momentu wszytsko działa
    cout<<wyraz<<endl;                // nie wiem, ale dlaczego w każdy przypadku-  
                                      // zwraca mi inta równego 0
    int i = atoi(a.c_str());          //chciałbym otrzymane "i" zapsiać w tablicach
    cout<<i;                         // w taki spsoób jak na dole.
                                       // np i[0]=A=121, i[1]=B=122, i i[2]=E=154
}                                     // ABEAABE=121 122 154 121 121 122 154

    return 0;
}

Zależałoby mi na tym, że wprowadzając string "a", komputer podczas zamianty stringa na inta, automatycznie przydzieli każdą literkę (jej wartość) do osobnej tablicy i (tak jak w przykładzie). Prosiłbym o pomoc i jeśli to możliwe przykład to tego. Z góry dziekuję. Pozdrawiam

1 odpowiedź

0 głosów
odpowiedź 16 stycznia 2018 przez j23 Mędrzec (194,920 p.)

nie wiem, ale dlaczego w każdy przypadku zwraca mi inta równego 0

No a czego się spodziewałeś po próbie konwersji ciągu JHGHSIAAAAFFLK przez atoi()?

komputer podczas zamianty stringa na inta,

Odnoszę wrażenie, że chyba nie do końca zrozumiałeś zadanie. Z tego, co napisałeś, wynika, że masz napisać algorytm, który będzie zamieniał znaki powtarzające się więcej niż dwa razy np. AAAA na ciąg A<ilość powtórzeń>, czyli A4. Jak dla mnie, tu żadnej konwersji tekst -> int nie trzeba.

 

komentarz 16 stycznia 2018 przez Admin Cpp Początkujący (350 p.)
Dziękuje za podpowiedź,  już rozumiem nonsens swojego starego pomysłu :)

Podobne pytania

0 głosów
1 odpowiedź 403 wizyt
pytanie zadane 1 kwietnia 2019 w C i C++ przez BinaryMan Stary wyjadacz (12,620 p.)
–3 głosów
2 odpowiedzi 2,814 wizyt
pytanie zadane 13 maja 2017 w C i C++ przez jegor377 Stary wyjadacz (13,230 p.)
0 głosów
1 odpowiedź 1,297 wizyt

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,941 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...