Returneaza cate vocale contine un sir de caractere,doar ca nu merge,se executa la infinit.
Ce ar trebuie sa faca : de fiecare data verifica daca caracterul de la sfarsitul sirului este vocala,daca este creste cu 1 si taie acel caracter,tot asa pana ramane fara caractere(strlen(sir) == 0)
Aici ai o alta varinata. V fi nevoie sa o adaptezi putin
De asemenea iti recomand cu caldura sa folosesti un ide plus facilitatile acestuia de debugging. Te vor ajuta mult in depanarea problemelor.
Eu folosesc Visual Studio Community si sunt incantat de el
Recomand acest site tuturor celor care sunt pasionati de algoritmica precum si alte topic-uri computer science. Stiu ca l-am mai mentionat o data, dar la alt topic
Eu as face o regula. Daca pui o intrebare care se vede de la o posta ca e tema la Informatica, daca nu spui ce anume concret nu merge, ce ai incercat, topicul sa fie inchis. Nasty nazi, but it is what it is.
1.Nu e tema la informatica
2.Am spus ce nu merge : ar trebui sa numere cate vocale contine un sir de caractere,doar ca se executa la infinit cu toate ca e specificat sa returneze 0 daca ramane fara caractere(daca lungimea sirului devine 0).La fiecare executie se sterge caracterul de la final(devine ‘\0’ adica sfarsit de sir)
Păi bineînţeles că nu poate funcţiona în felul în care ai implementat. Tu încerci să modifici un string constant. Chiar şi prima variantă funcţioneaza doar din greşeală, pentru ca la fel, încerci să modifici o zonă din memorie care normal ar trebui sa fie read-only.
Mă mir că te lasă compilatorul să faci asta. Nu ţipă vreun warning că nu e în regula să pointezi cu pointer non-const la un vector constant? La mine uite ce zice:
3:13: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]