Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

V28. Șirul de caractere s2 este “clona” şirului de caractere s1 dacă se poate obţine din s1 prin eliminarea tuturor apariţiilor unei singure vocale. Se consideră vocală orice literă din mulţimea {a,e,i,o,u}. Scrieţi programul C/C++ care citeşte de la tastatură un cuvânt format din cel mult 20 litere mici ale alfabetului englez şi afişează pe ecran, toate “clonele” acestui cuvânt, fiecare pe câte o linie a ecranului.
Exemplu: pentru cuvântul informatica se afişează, nu neapărat în această
ordine, “clonele” scrise alăturat.
nformatca
infrmatica
informtic

Răspunsuri la întrebare

Răspuns de crow9920
0

#include <iostream>

#include <cstring>

using namespace std;

void remove_ch(char str[], int pos) {

char temp[21];

strcpy(temp, str + pos + 1);

strcpy(str + pos, temp);

}

void print_clone(char str[], char ch) {

int len = strlen(str);

int modificat = 0;

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

if (str[i] == ch) {

remove_ch(str, i);

modificat = 1;

}

}

if (modificat)

cout << str << "\n";

}

int main() {

char str[21];

cin >> str;

char vocale[21] = "aeiou";

int nr_vocale = strlen(vocale);

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

char copie[21];

strcpy(copie, str);

print_clone(copie, vocale[i]);

}

return 0;

}

Alte întrebări interesante