Sunteți pe pagina 1din 7

Laborator C 1

Clasa a-X-a D

Aplicaţii cu şiruri de caractere


1. Sa se afiseze de cate ori apare caracterul ‚a’ 2. Sa se afiseze de cate ori apar caracterele ‚a’ si ‚v’
in sir. in sir.
#include<iostream> #include<stdio.h>
#include<stdio.h> #include<conio.h>
#include<conio.h> #include<string.h>
#include<string.h> #include<iostream>
int main() int main()
{int nr,i,L; {
char s[100]; int na,i,L,nv;
cout<<“"dati sirul: ; char s[100];
gets(s); cout<<“dati sirul: ");gets(s);L=strlen(s);na=0;nv=0;
L=strlen(s);nr=0; for(i=0;i<L;i++)
if(s[0]=='a')nr++; {
for(i=1;i<L;i++) if(s[i]=='a')na++;
if(s[i]=='a')nr++; if(s[i]=='v')nv++;
cout<<“nr; return 0;} }
cout<<“”\ncaracterul a apare de <<na<<” ori\n";
cout<<“”\ncaracterul a apare de <<nv<<” ori\n";
return 0;}
3. Sa se afiseze cate cuvinte contine sirul. 4. Sa se afiseze cate cuvinte incep cu caracterul ‚a’
#include<iostream> in sir.
#include<stdio.h> #include<iostream>
#include<conio.h> #include<stdio.h>
#include<string.h> #include<conio.h>
int main() #include<string.h>
{int sp,i,L; int main()
char s[100]; {int nr,i,L;
cout<<“dati sirul: ");gets(s); char s[100];
L=strlen(s);sp=0; cout<<“dati sirul: ");gets(s);L=strlen(s);nr=0;
for(i=0;i<L;i++) if(s[0]=='a')nr++;
if(s[i]==' ')sp++;//numaram spatiile for(i=1;i<L;i++)
cout<<“”\nnr sunt „<<sp+1<<” cuvinte\n"; return 0;} if(s[i]==' ')
if(s[i+1]=='a')nr++;
cout<<“”\nnumarul cuvinte ce incep cu a este de „<<nr<<”
ori \n "; return 0;}
5. Sa se afiseze cate cuvinte se incheie cu 6. Sa se numere vocalele din sir.
caracterul ‚a’ in 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 nv,i,L;
int nr,i,L; char s[100], voc[]=”aeiouAEIOU”;
char s[100]; cout<<“dati sirul: ");gets(s);
cout<<“dati sirul: ");gets(s); 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<<“\nnr vocale din s=”<<nv<<”\n"; return 0;}
if(s[i-1]=='a')nr++;
if(s[L-1]=='a')nr++;
cout<<“\nnr cuv ce se termina cu a este de
„<<nr<<” \n"; return 0;}
Laborator C 2
Clasa a-X-a D

7. Sa se numere consoanele din sir separate 8. Sa se afiseze cele mai mare cuvant din sir.
doar prin spatii. #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[]="maria are mere",*p,sep[]=",. ;";
int nc,i,L; unsigned L;
char s[100], voc[]=”aeiouAEIOU,.;”; unsigned max=0;
//numar toate caracterele diferite de vocale si separatori p=strtok(s,sep);
cout<<“dati sirul: ");gets(s); while(p)
L=strlen(s);nc=0; {
for(i=0;i<L;i++)
if(!strchr(voc,s[i])nc++; L=strlen(p);
cout<<“\nnr consoane din s=”<<nc” \n"; return 0;} 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>
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’ contine 11. Sa se numere cate caractere ‚a’ contine ultimul
primul cuvant din sir. cuvant din sir.
#include<iostream> #include<iostream>
Laborator C 3
Clasa a-X-a D

#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 primul cuvant este k++;
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’ contine al 3- 13. Sa se afiseze caracterul de inceput al primului
lea cuvant din sir. 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[]=" ",*p,aux[20];
cout<<“%c",s[i]); p=strtok(s,sep);
if(s[i]=='a')k++; if(p)
} {
cout<<“\t al 3 lea cuv k="<<k; strcpy(aux,p);
return 0;} }
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 termina primul
cuvantului al 6/lea din sir. cuvant
Laborator C 4
Clasa a-X-a D

#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[]=" ",*p,aux[20];
char s[100]="hai la joaca daca nu esti suparat",sep[]=" p=strtok(s,sep);
",*p,aux[20]; if(p)
p=strtok(s,sep); {
if(p) strcpy(aux,p);L=strlen(aux);
{ }
strcpy(aux,p);nr++; cout<<aux[L-1];
} return 0;}
while(p)
{ 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 termina 18. sa se afiseze caracterul in care se termina al
ultimul cuvant 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[]=" ",*p,aux[20]; int i=0,k=0,L,nr=0;
p=strtok(s,sep); char s[100]="hai la joaca daca nu esti suparat",sep[]="
if(p) ",*p,aux[20];
{ p=strtok(s,sep);
strcpy(aux,p); if(p)
} {
while(p) strcpy(aux,p);nr++;
{ p=strtok(NULL,sep); }
if(p) while(p)
{ { p=strtok(NULL,sep);
if(p)
strcpy(aux,p); {
} strcpy(aux,p);
} nr++;
L=strlen(aux); }
cout<<aux[L-1];
return 0;} if(nr==6)
{
L=strlen(aux);
cout<<aux[L-1];
break;
}
}
return 0;}

19. sa se verifice daca primul cuvant din sir 20. sa se verifice daca ultimul cuvant din sir contine
Laborator C 5
Clasa a-X-a D

contine caracterul ‚a’ 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[]=" ",*p,aux[20]; char s[100]="hai la joaca nu",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);
} }
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 contine 22. sa se verifice daca sunt cuvinte care au lungimea
caracterul ‚a’ 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 daca char s[100]="hai la ",sep[]=" ",*p,aux[20];
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 caractere\n";
if(aux[i]=='a')ok=1; else cout<<“textul nu contine cuvinte cu 5 caractere\n";
} return 0;}
}
if(ok)cout<<“contine caracterul 'a'\n";
else cout<<“nu contine caracterul 'a'\n";
return 0;}
Laborator C 6
Clasa a-X-a D

23. sa se numere cate cuvinte au lungimea de 3 24. sa se afiseze sirul obtinut prin eliminarea tuturor
caractere. caracterelor ‚a’ 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 i=0,k=0,L; char s[100]="hai la joaca din nou",sep[]="a",*p,aux[20];
char s[100]="hai la joaca din nou",sep[]="
",*p,aux[20]; p=strtok(s,sep);
p=strtok(s,sep); if(p)
if(p) strcpy(aux,p);
{
strcpy(aux,p); while(p)
L=strlen(aux); {
if(L==3)k++; p=strtok(NULL,sep);
} if(p)
while(p) strcat(aux,p);
{ p=strtok(NULL,sep); }
if(p) puts(aux);
{ return 0;}
strcpy(aux,p);
L=strlen(aux);
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 ‚k’ 26. sa se transforme caracterele mici in mari.
intalnit in sirul s subsirul ‚aaa’ apoi sa se #include<iostream>
afiseze rezultatul #include<stdio.h>
#include<iostream> #include<conio.h>
#include<stdio.h> #include<string.h>
#include<conio.h> int main()
#include<string.h> {
int main() char s[60];
{char s[100]="hai la joacak din nou", sep[]="k", *p, puts("dati sirul: ");gets(s);
aux[20]; strupr(s);puts(s);
p=strtok(s,sep); }
if(p) strcpy(aux,p); 27. sa se transforme caracterele mari in mici.
while(p){ #include<stdio.h>
strcat(aux,"k"); #include<string.h>
strcat(aux,"aaa"); #include<conio.h>
p=strtok(NULL,sep); int main()
if(p) strcat(aux,p);} {
puts(aux); return 0;} char s[60];
puts("dati sirul: ");gets(s);
strlwr(s);puts(s);
return 0;}
28. sa se transforme caracterele ‚a’ in ‚b’ 29. sa se afiseze cuvinele care au secventa ‚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)
Laborator C 7
Clasa a-X-a D

s[i]='b'; if(strstr(p,"ab"))
puts(s); puts(p);
return 0;} p=strtok(NULL," ");
} return 0;}

30. sa se verifice daca sirul contine majuscule si 31. sa se verifice daca sirul contine caractere mici si
sa afiseze numarul lor sa afiseze numarul lor

32. sa sa se afiseze toate cuvintele care contin 33. Să se afişeze pe câte o linie cuvintele dintr-un
mai mule consoane decat vocale. text împreună cu lungimea lor

34. Să se determine numărul cuvintelor care 35. Se dau două texte T şi S. Să se tipărească toate
încep şi se termină cu aceeaşi literă şi cuvintele comune celor două texte.
numărul cuvintelor care conţin cel puţin de
două ori litera “a” dintr-un text.

36. Să se afişeze în ordine alfabetică cuvintele 37. Să se elimine din text cuvintele care au mai mult
distincte din text. de 6 caractere şi să se afişeze textul obţinut.

38. Se dă un text format din propoziţii încheiate 39. Să se inverseze ordinea de aparitie a cuvintelor
prin punct. Să se inverseze ordinea dintr-un în text şi să se afişeze textul obţinut.
propoziţiilor în text şi să se afişeze textul
obţinut.

S-ar putea să vă placă și