You are on page 1of 6

PROBLEME PROPUSE

Fie s un șir de caractere dat de la tastatură; cuvintele conțin numai litere și sunt separate numai
printr-un singur spațiu. Să se rezolve următoarele probleme:
(în continuare string = șir de caractere)
1. Sa se afiseze de cate ori apare 2. Sa se afiseze de cate ori apar
caracterul ’a’ in string. caracterele ’a’ si ’v’ in string.
#include<iostream> #include<string.h>
#include<string.h> #include<iostream>
using namespace std; using namespace std;
int main() int main()
{int nra=0,i; {
char s[100]; int na=0,i,nv=0;
cout<<"dati sirul: "; char s[100];
cin.get(s,100); cout<<"dati sirul:"; cin.get(s,100);
for(i=0;i<strlen(s);i++) for(i=0;i<strlen(s);i++)
if(s[i]=='a')nra++; {
cout<<nra; if(s[i]=='a')na++;
return 0; if(s[i]=='v')nv++;
} }
cout<<"caracterul a apare de "<<na<<" ori";
cout<<"caracterul v apare de "<<nv<<" ori";
return 0;
}
3. Sa se afiseze cate cuvinte contine 4. Sa se afiseze cate cuvinte contine
stringul. stringul care incep cu caracterul ‘a’.
#include<iostream> #include<iostream>
#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
#include<string.h> #include<string.h>
using namespace std; using namespace std;
int main() int main()
{int sp,i,L; {int nr,i,L;
char s[100]; char s[100];
cin.get(s,100); cout<<"dati sirul: "; cin.get(s,100);
L=strlen(s);sp=0; L=strlen(s);nr=0;
for(i=0;i<L;i++) if(s[0]=='a') nr++;
if(s[i]==' ')sp++; for(i=1;i<L;i++)
cout<<" sunt "<<sp+1<<" cuvinte"; if(s[i]==' '&& s[i+1]=='a') nr++;
return 0; cout<<"numarul de cuvinte ce incep cu a este
} de "<<nr<<" ori \n ";
return 0;
}
5. Sa se afiseze cate cuvinte se termina 6. Sa se numere vocalele din sir.
cu caracterul ‚a’. #include<iostream>
#include<iostream> #include<stdio.h>
#include<stdio.h> #include<conio.h>
#include<conio.h> #include<string.h>
#include<string.h> using namespace std;
using namespace std; int main()
int main() {
{ int nv,i,L;
int nr,i,L; char s[100], voc[]="aeiouAEIOU";
char s[100]; cout<<"dati sirul: ";cin.get(s,100);
cout<<"dati sirul: ";cin.get(s,100); L=strlen(s);nv=0;
L=strlen(s);nr=0; for(i=0;i<L;i++)
for(i=0;i<L;i++) if(strchr(voc,s[i])) nv++;
if(s[i]==' ') cout<<"nr vocale din s="<<nv;
if(s[i-1]=='a')nr++; return 0;
if(s[L-1]=='a')nr++; }
cout<<"nr cuv ce se termina cu a este de
"<<nr;
return 0;}
7. Sa se numere consoanele din sir 8. Sa se afiseze cel mai mare cuvant din
separate doar prin spatii. sir.
#include<iostream> #include<iostream>
#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
#include<string.h> #include<string.h>
using namespace std; using namespace std;
int main()
{ int main()
int nc,i,L; {
char s[100], voc[]="aeiouAEIOU,.;"; char s[]="maria are
//numar toate caracterele diferite de mere",*p,sep[]=",. ;";
//vocale si separatori unsigned L;
cout<<"dati sirul: ";cin.get(s,100); unsigned max=0;
L=strlen(s);nc=0; p=strtok(s,sep);
for(i=0;i<L;i++) while(p)
if(!strchr(voc,s[i])) nc++; {
cout<<"nr consoane din s="<<nc;
return 0; L=strlen(p);
} if(L>max)
max=L;
p=strtok(NULL,sep);
}
cout<<max;
return 0;}
9. Sa se afiseze cele mai mic/mare cuvant din sir.
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<string.h>
using namespace std;
int main()
{ char text[255], *p,*M,*m;
char sep[]=" ";
unsigned min,max;
cout<<" Introduceti textul n"; gets(text);
min=255; max=0;
// extragem cate un cuvant si comparam lungimea lui cu min si max actualizam min si
max corespunzator
p=strtok(text,sep);
while(p)
{
if(strlen(p)<min)
{
min=strlen(p);
M=p;
}
if(strlen(p)>max)
{
max=strlen(p);
m=p;
}
p=strtok(NULL,sep);
}
cout<<“lungimea minima : „<<min<<”\n",min);puts(m);
cout<<“lungimea maxima : „<<max<<”\n",max);puts(M);
return 0;}

10. Sa se numere cate caractere ‚a’ 11. Sa se numere cate caractere ‚a’ contine
contine primul cuvant din sir. ultimul cuvant din sir.
#include<iostream> #include<iostream>
#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
#include<string.h> #include<string.h>
int main() int main()
{char text[]="mama sunt la scoala",*p; {int k=0,i=0,L,na=0;
char sep[]=",.; ",aux[200]; char s[100],sp[20];
int nr=0,L; cout<<“dati sirul: ");
p=strtok(text,sep); gets(s);
if(p){strcpy(cuv,p); L=strlen(s);
L=strlen(cuv); puts(cuv); sp[0]=-1;
for(int i=0;i<L;i++) for(i=0;i<L;i++)
if(cuv[i]=='a')nr++; if(s[i]==' ')
} {
cout<<“numarul de caractere ‚a’ din k++;
primul cuvant este de "<<nr; return 0;} sp[k]=i;
}
k++;sp[k]=L;
na=0;
for(i=sp[k-1]+1;i<=sp[k]-1;i++)
{
cout<<“%c",s[i]);
if(s[i]=='a')na++;
}
cout<<“\nultimul cuv na="<<na; return 0;}
12. Sa se numere cate caractere ‚a’ 13. Sa se afiseze caracterul de inceput al
contine al 3-lea cuvant din sir. primului cuvant din sir.
#include<iostream> #include<iostream>
#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
#include<string.h> #include<string.h>
int main() int main()
{ {
int nr=0,i=0,L,k=0; int nr=0,i=0,L,k=0;
char s[100],sp[20]; char s[100],sp[20];
cout<<“dati sirul: "); cout<<“dati sirul: ");
gets(s); gets(s);
L=strlen(s); L=strlen(s);
sp[0]=-1; cout<<“%c\n",s[0]);}
for(i=0;i<L;i++)
if(s[i]==' ') 14. Sa se afiseze caracterul de inceput al
{ ultimului cuvant din sir.
nr++; #include<stdio.h>
sp[nr]=i; #include<conio.h>
} #include<string.h>
nr++;sp[nr]=L; int main()
k=0; {
for(i=sp[2]+1;i<=sp[3]-1;i++) int i=0,k=0;
{ char s[100]="hai la joaca",sep[]="
cout<<“%c",s[i]); ",*p,aux[20];
if(s[i]=='a')k++; p=strtok(s,sep);
} if(p)
cout<<“\t al 3 lea cuv k="<<k; {
return 0;} strcpy(aux,p);
}
while(p)
{ p=strtok(NULL,sep);
if(p)
{

strcpy(aux,p);
}
}
cout<<aux[0];
return 0;}
15. sa se afiseze caracterul de inceput al 16. sa se afiseze caracterul in care se
cuvantului al 6/lea din sir. termina primul cuvant
#include<iostream> #include<iostream>
#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
#include<string.h> #include<string.h>
#include<stdlib.h> int main()
int main() {
{ int i=0,k=0,L;
int i=0,k=0,L,nr=0; char s[100]="hai la joaca",sep[]="
char s[100]="hai la joaca daca nu esti ",*p,aux[20];
suparat",sep[]=" ",*p,aux[20]; p=strtok(s,sep);
p=strtok(s,sep); if(p)
if(p) {
{ strcpy(aux,p);L=strlen(aux);
strcpy(aux,p);nr++; }
} cout<<aux[L-1];
while(p) return 0;}
{ p=strtok(NULL,sep);
if(p)
{
strcpy(aux,p);
nr++;
}

if(nr==6)
{
cout<<aux[0];
break;
}
}
return 0;}
17. sa se afiseze caracterul in care se 18. sa se afiseze caracterul in care se
termina ultimul cuvant termina al 6/lea cuvant din sir.
#include<iostream> #include<iostream>
#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
#include<string.h> #include<string.h>
int main() #include<stdlib.h>
{ int main()
int i=0,k=0,L; {
char s[100]="hai la joaca",sep[]=" int i=0,k=0,L,nr=0;
",*p,aux[20]; char s[100]="hai la joaca daca nu esti
p=strtok(s,sep); suparat",sep[]=" ",*p,aux[20];
if(p) p=strtok(s,sep);
{ if(p)
strcpy(aux,p); {
} strcpy(aux,p);nr++;
while(p) }
{ p=strtok(NULL,sep); while(p)
if(p) { p=strtok(NULL,sep);
{ if(p)
{
strcpy(aux,p); strcpy(aux,p);
} nr++;
} }
L=strlen(aux);
cout<<aux[L-1]; if(nr==6)
return 0;} {
L=strlen(aux);
cout<<aux[L-1];
break;
}
}
return 0;}

19. sa se verifice daca primul cuvant din 20. sa se verifice daca ultimul cuvant din
sir contine caracterul ‚a’ sir contine caracterul ‚a’
#include<iostream> #include<iostream>
#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
#include<string.h> #include<string.h>
int main() int main()
{ {
int i=0,k=0,L; int i=0,k=0,L;
char s[100]="Nu hai la joaca",sep[]=" char s[100]="hai la joaca nu",sep[]="
",*p,aux[20]; ",*p,aux[20];
p=strtok(s,sep); p=strtok(s,sep);
if(p) if(p)
{ {
strcpy(aux,p);L=strlen(aux); strcpy(aux,p);
} }
int ok=0; while(p)
for(i=0;i<L;i++) { p=strtok(NULL,sep);
if(aux[i]=='a')ok=1; if(p)
if(ok)cout<<“contine caracterul 'a'"; {
else cout<<“nu contine caracterul 'a'"; strcpy(aux,p);
return 0;} }
}
L=strlen(aux);
int ok=0;
for(i=0;i<L;i++)
if(aux[i]=='a')ok=1;
if(ok)cout<<“contine caracterul 'a'\n";
else cout<<“nu contine caracterul 'a'\n";
return 0;}
21. sa se verifice daca al 6/lea cuvant 22. sa se verifice daca sunt cuvinte care au
contine caracterul ‚a’ lungimea de 5 caractere.
#include<iostream> #include<iostream>
#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
#include<string.h> #include<string.h>
int main() int main()
{ {
int i=0,k=0,L,nr=0; int i=0,k=0,L;
int ok=0; int ok=0;
char s[100]="hai maine seara la joaca char s[100]="hai la ",sep[]=" ",*p,aux[20];
daca vrei",sep[]=" ",*p,aux[20]; p=strtok(s,sep);
p=strtok(s,sep); if(p)
if(p) {
{ strcpy(aux,p);
strcpy(aux,p);nr++; L=strlen(aux);
} if(L==5)ok=1;
while(p) }
{ p=strtok(NULL,sep); while(p)
if(p) { p=strtok(NULL,sep);
{ if(p)
strcpy(aux,p);nr++; {
} strcpy(aux,p);
if(nr==6) L=strlen(aux);
{ if(L==5)ok=1;
L=strlen(aux);puts(aux); }}
for(i=0;i<L;i++) if(ok)cout<<“textul contine cuvinte cu 5
if(aux[i]=='a')ok=1; caractere\n";
} else cout<<“textul nu contine cuvinte cu 5
} caractere\n";
if(ok)cout<<“contine caracterul 'a'\n"; return 0;}
else cout<<“nu contine caracterul 'a'\n";
return 0;}

23. sa se numere cate cuvinte au lungimea 24. sa se afiseze sirul obtinut prin
de 3 caractere. eliminarea tuturor caracterelor ‚a’ din
#include<iostream> sir.
#include<stdio.h> #include<iostream>
#include<conio.h> #include<stdio.h>
#include<string.h> #include<conio.h>
int main() #include<string.h>
{ int main()
int i=0,k=0,L; {
char s[100]="hai la joaca din char s[100]="hai la joaca din
nou",sep[]=" ",*p,aux[20]; nou",sep[]="a",*p,aux[20];
p=strtok(s,sep);
if(p) p=strtok(s,sep);
{ if(p)
strcpy(aux,p); strcpy(aux,p);
L=strlen(aux);
if(L==3)k++; while(p)
} {
while(p) p=strtok(NULL,sep);
{ p=strtok(NULL,sep); if(p)
if(p) strcat(aux,p);
{ }
strcpy(aux,p); puts(aux);
L=strlen(aux); return 0;}
if(L==3)k++;
}
}
if(k)
cout<<“textul contine cuvinte cu 3
caractere k="<<k;
else
cout<<“textul nu contine cuvinte cu 3
caractere\n";
return 0;}
25. sa se introduca dupa primul caractert 26. sa se transforme caracterele mici in
‚k’ intalnit in sirul s subsirul mari.
‚aaa’ apoi sa se afiseze rezultatul #include<iostream>
#include<iostream> #include<stdio.h>
#include<stdio.h> #include<conio.h>
#include<conio.h> #include<string.h>
#include<string.h> int main()
int main() {
{char s[100]="hai la joacak din nou", char s[60];
sep[]="k", *p, aux[20]; puts("dati sirul: ");gets(s);
p=strtok(s,sep); strupr(s);puts(s);
if(p) strcpy(aux,p); }
while(p){ 27. sa se transforme caracterele mari in
strcat(aux,"k"); mici.
strcat(aux,"aaa"); #include<stdio.h>
p=strtok(NULL,sep); #include<string.h>
if(p) strcat(aux,p);} #include<conio.h>
puts(aux); return 0;} int main()
{
char s[60];
puts("dati sirul: ");gets(s);
strlwr(s);puts(s);
return 0;}
28. sa se transforme caracterele ‚a’ in 29. sa se afiseze cuvinele care au secventa
‚b’ ‚ab’.
#include<iostream>
#include<iostream> #include<stdio.h>
#include<stdio.h> #include<conio.h>
#include<conio.h> #include<string.h>
#include<string.h> int main()
int main() {char *p,s[60];
{ puts("dati sirul: ");gets(s);
char s[60]; p=strtok(s,",.?!");
puts("dati sirul: ");gets(s); while(p)
for(unsigned i=0;i<strlen(s);i++) {
if(s[i]=='a') if(p)
s[i]='b'; if(strstr(p,"ab"))
puts(s); puts(p);
return 0;} p=strtok(NULL," ");
} return 0;}

Obs!!!
gets(s)  cin.get(s,60)
puts(s)  cout << s

You might also like