Informatică, întrebare adresată de oanaroxana3, 8 ani în urmă

Adaugare caracter

Să se scrie o funcție numită addChars care primește ca parametru un șir de caractere și inserează după fiecare vocală caracterul $.


Semnătură funcție

Funcția trebuie să se numească addChars.

Funcția trebuie să primească ca parametru un șir de caractere.

La finalul funcției, șirul de caractere trebuie să conțină textul inițial modificat astfel încât după fiecare vocală să apară caracterul $.

Funcția nu va returna și nu va afișa nimic. Rezultatul va fi returnat prin parametrul transmis.

Restricții

Șirul final, după inserarea caracterelor cerute, va conține maxim 200 de caractere.

Exemplu

char s[200];

s[0] = 'a';

s[1] = 'n';

s[2] = 'a';

s[3] = 0;

addChars(s);

cout << s; // se va afisa a$na$


Codul este urmatorul:


const int MAX_LENGTH = 200;


void addChars (char s[MAX_LENGTH] ) {

char v[]="aeiouAEIOU", aux[MAX_LENGTH];

int n = strlen(s);

for(int i = 0; i < n; ++i) {

if(strchr(v, s[i])) {

strcpy(aux, s + i);

strcpy(s + i + 1, aux);

s[i + 1]='$';

}

}

}


Idee este ca nu acopar toate cazurile si nu inteleg de ce. Ma puteti ajuta ?

Multumesc!

Răspunsuri la întrebare

Răspuns de misterL
1

Explicație:

Salut! Trebuie sa reactualizezi n atunci când inserezi $.

Adaugă n++; i++; după s[i + 1]='$';

Ai putea sa fii mai explicit cu cazurile pe care codul nu le acoperă.


oanaroxana3: Multumesc!
Alte întrebări interesante