Informatică, întrebare adresată de Geout, 9 ani în urmă

Exista vreo posibilitate de a reinitializa un sir de caractere la 0?

Am problema asta de pe pbinfo
Să se scrie un program care citește mai multe propoziții și determină propoziția cu cele mai multe vocale.

Date de intrare
Fișierul de intrare vocmax.in conține pe prima linie un număr natural n, iar pe următoarele n linii câte o propoziție alcătuită din litere mici ale alfabetului englez și spații.

Date de ieşire
Fișierul de ieșire vocmax.out va conține pe prima linie propoziția cu cele mai multe vocale.

Restricţii şi precizări
0 fiecare propoziție va conține cel mult 250 de caractere

si nu stiu cum sa fac sa imi tin minte propozitia cu cel mai mare numar de vocale.

Putin ajutor, va rog?


AntiEaglesDavids: nu mai puneti fratilor 7 intrebari intr-una... ca nici nu stiu la ce sa raspund. Deci ce vrei sa stii, cum sa reinitializezi un sir de caractere la 0 sau sa ai problema aia de pe pbinfo rezolvata?
Geout: reinitializarea unui sir de caractere la 0, am dat problema ca exemplu
AntiEaglesDavids: nu inteleg ce treaba are problema cu reinitializarea unui vector la 0 dar ma rog, am sa-ti scriu rezolvarea mai jos.

Răspunsuri la întrebare

Răspuns de AntiEaglesDavids
0
Fie vectorul v[100]; Ca acest vector sa fie initializat la 0 avem urmatoarele metode:

Metoda 1) :
-cu un loop: for(int i=0; i<strlen(0); i++) v[i] = 0; (nerecomandat)
-sau mai simplu v[0] = 0 sau v[0] = '\0' sau v[0] = NULL; (recomandat)

Metoda 2);
-foloseste: memset(v, 0, sizeof(v));

Metoda 3)
-foloseste fill(v, v + 100, 0);

chiseugen: strcpy(s1, s2); toate datele din s1 se pierd, si s1 devine exact ca s2
AntiEaglesDavids: exact
AntiEaglesDavids: se ia tot const char* -ul ala dar tu nu prea poti sa vezi aia decat cu debugeru
AntiEaglesDavids: dar cand ai strcpy(a + n, a + m) cu n > m atunci vei avea override si va iesi undefined behavior
AntiEaglesDavids: atunci mai bine ai folosi memcpy cand ai cazu asta
AntiEaglesDavids: sau folosesti un char aux[]
AntiEaglesDavids: depinde ce vrei
AntiEaglesDavids: ai inteles Geout?
Geout: am inteles, ai dreptate, multumesc frumos, la lucrurile mititele ma incurc :))
AntiEaglesDavids: hehe se mai intampla ;) npc
Alte întrebări interesante