Documente Academic
Documente Profesional
Documente Cultură
Un cuvânt s, de cel mult 20 caractere, format doar din litere mici ale
alfabetului englez, conţine cel puţin o consoană şi cel puţin o vocală. Scrieţi
programul C/C++ care citeşte de la tastatură cuvântul s, construieşte în
memorie şi afişează pe ecran cuvântul obţinut prin eliminarea tuturor
consoanelor din cuvântul s. Se consideră consoană oricare literă care nu se află
în mulţimea {a, e, i, o, u}.
Exemplu: dacă se citeşte cuvântul bacalaureat, pe ecran se afişează: aaauea
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[21];
cin>>s;
int i=0;
while(s[i])
{
///testam daca s[i] e consoana
if(strchr("aeiou",s[i])==0)
strcpy(s+i,s+i+1); //stergem caracterul de la pozitia i
else
i++;
}
cout<<s;
return 0;
}
int k=’a’-’A’;
s[i]=s[i]-k;
s[i]=s[i]+k;
● Verificare consoana
if(strchr(“aieou”,s[i])==0)
● Stergere
strcpy(s+i,s+i+1);
#include <iostream>
#include <string.h>
using namespace std;
/**4. Pentru compactarea mesajelor transmise intre doua terminale se
inlocuieste orice succesiune de mai multe caractere de acelasi fel cu un caracter
#, urmat de caracterul respectiv si de numarul de repetari succesive. Sa se
scrie un program care sa decompacteze un text citit.
Ex: f#v3tn#x4y → fvvvtnxxxxy.
**/
int main()
{
char s[20], nou[30];
int i=0, j=0;
cin>>s;
while(s[i])
{
if(s[i]=='#')
{
int k=s[i+2]-'0';
while(k)
{
nou[j]=s[i+1];
j++;
k--;
}
i=i+3;
}
else
{
nou[j]=s[i];
j++;
i++;
}
}
nou[j]=NULL;
cout<<nou;
return 0;
}
5. Se citeste un cuvant.
a.Sa se afiseze cuvintele distincte ce se pot forma prin eliminarea cate unui
caracter.
adina - dina aina adna adia adin
b.Sa se afiseze cuvintele distincte ce se pot forma prin eliminarea a cate p
caractere.
adina si p =3 - ad aa na
a) #include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[21],c[21];//c e copia cuvantului
cin>>s;
for(int i=0;i<strlen(s);i++)
{
strcpy(c,s);
strcpy(c+i,c+i+1);
cout<<c<<endl;
}
return 0;
}
#include <iostream>
#include <string.h>
using namespace std;
b)
int main()
{
char s[21],c[21];//c e copia cuvantului
int p;
cin>>s;
cin>>p;
for(int i=0;i<=strlen(s)-p;i++)
{
strcpy(c,s);
strcpy(c+i,c+i+p);
cout<<c<<endl;
}
return 0;
}