Transformati din text in numar, numerele mai mici de 10000. In c++. Aveti vreo idee?
Răspunsuri la întrebare
Răspuns de
1
Nu stiu exact ce vrei, dar iti ofer doua variante.
1. Transformarea text - numar prin functie predefinita
• Folosesti functia atoi(const char* str) ce primeste ca parametru un sir de caractere (C -Style String) si il transforma in numat de tip int. Nu uita sa adaugi biblioteca stdlib
• daca vrei din text in double/float folosesti atof()
• daca vrei din text in long int folosesti atol()
Exemple:
char str[256];
fgets(str,256,stdin); //sau orice de citit siruri
int nr = atoi(str);
Dezavantaje:
•unul imens:
Exemplu 2: daca str[] este: 23test14, atoi(str) returneaza doar 23.
•Daca str[] nu contine litere, sau nr este peste limita int-ului, vei avea Undefined Behaviour.
2. Metoda clasica de parcurgere este atasata. Ea returneaza numerele date indiferent.
De remarcat este structura urmatoare:
str[i] - '0' --> daca te uiti pe un tabel ASCII vei intelege, dar in principal transforma din caracter in cifra.
1. Transformarea text - numar prin functie predefinita
• Folosesti functia atoi(const char* str) ce primeste ca parametru un sir de caractere (C -Style String) si il transforma in numat de tip int. Nu uita sa adaugi biblioteca stdlib
• daca vrei din text in double/float folosesti atof()
• daca vrei din text in long int folosesti atol()
Exemple:
char str[256];
fgets(str,256,stdin); //sau orice de citit siruri
int nr = atoi(str);
Dezavantaje:
•unul imens:
Exemplu 2: daca str[] este: 23test14, atoi(str) returneaza doar 23.
•Daca str[] nu contine litere, sau nr este peste limita int-ului, vei avea Undefined Behaviour.
2. Metoda clasica de parcurgere este atasata. Ea returneaza numerele date indiferent.
De remarcat este structura urmatoare:
str[i] - '0' --> daca te uiti pe un tabel ASCII vei intelege, dar in principal transforma din caracter in cifra.
Anexe:
DarcyTay:
Multumesc mult! Ne-a fost de mare ajutor!
Alte întrebări interesante
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Biologie,
9 ani în urmă