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
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
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Studii sociale,
9 ani în urmă