Sunteți pe pagina 1din 8

Probleme rezolvate pentru siruri de caractere

1.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[31]; int i,k,j,x;
ofstream f("BAC.TXT");
cout<<"Introduceti sirul: "; cin.get(s,30);
x=k=strlen(s);
for(i=1;i<=k;i++)
{
for(j=0;j<x;j++) f<<s[j];
f<<endl; x--;
}
f.close(); return 0;
}
2.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[31]; int k,i,t;
ofstream f("BAC.TXT");
cout<<"Introduceti sirul: "; cin.get(s,30);
k=strlen(s)-1; t=strlen(s);
for(i=1;i<=t;i++)
{
f<<s+k<<endl;
k--;
}
f.close(); return 0;
}

1
3.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[31],c,p[31]; int i;
ofstream f("BAC.TXT");
cout<<"Introduceti sirul: "; cin.get(s,30);
cout<<"Introduceti caracterul:"; cin>>c;
i=0;
while(s[i]!=0)
if(s[i]==c)
{
strcpy(p,s+i+1); //copii sirul ramas dupa c
s[i+1]=c; //dublez caracterul c
strcpy(s+i+2,p); //adaug restul sirului
i+=2;
}
else i++;
f<<s;
f.close(); return 0;
}
4.

#include<iostream.h>
#include<string.h>
int main()
{
char s[21], v[]="aeiou"; int a=0,b=0,i;
//am definit in sirul v multimea vocalelor din alfabetul englez
cout<<"Introduceti sirul:"; cin.get(s,20);
for(i=0;s[i]!=0;i++)
if(strchr(v,s[i])!=0) //s[i] este vocala
a++;
else b++; //este consoana
if(a==b)
cout<<"DA"; else cout<<"NU";
return 0;
}
5.
Numarati vocalele dintr-un sir de maxim 50 de caractere litere ale alfabetului englez.
#include<iostream.h>
#include<string.h>
int main()
{
char s[51], v[]="aeiouAEIOU"; int i,k=0;
//am definit in sirul v vocalele mici si mari din alfabetul englez
cout<<"Introduceti sirul: "; cin.get(s,50);
for(i=0;s[i]!=0;i++)
if(strchr(v,s[i])!=0) //s[i] este vocala
k++;
2
cout<<"Sirul contine "<<k<<" vocale";
return 0;
}
6.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
ifstream f("BAC.TXT");
char s[21], m[21]=""; int k=0;
while(!f.eof())
{
f.getline(s,20);
if(strlen(s)>strlen(m))
{
strcpy(m,s); k=1;
}
else
if(strlen(s)==strlen(m)) k++;
}
cout<<"Lungimea maxima a unui sir este "<<strlen(m)<<endl;
cout<<k<<" siruri au aceasta lungime";
return 0;
}
7.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
ifstream f("BAC.TXT");
char s[10]; int k,i;
f.getline(s,10);
f>>k;
for(i=1;i<=k;i++)
cout<<s[k-1];
f.close();
return 0;
}

3
8.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[51], t[51]; int i=0;
cout<<"Primul sir: "; cin.get(s,50);
cin.get();
cout<<"Al doilea sir: "; cin.get(t,50);
while(s[i]!=0 && t[i]!=0)
{
cout<<s[i]<<t[i]; i++;
}
if(s[i]!=0) cout<<s+i;
if(t[i]!=0) cout<<t+i;
return 0;
}
9.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[251], t[251]; int i=0,j=0;
cout<<"Primul sir: "; cin.get(s,250);
cin.get();
cout<<"Al doilea sir: "; cin.get(t,250);
//folosim algoritmul de interclasare a doua siruri ordonate crescator
while(s[i]!=0 && t[j]!=0)
if(s[i]<t[j]) cout<<s[i++];
else cout<<t[j++];
if(s[i]!=0) cout<<s+i;
if(t[j]!=0) cout<<t+j;
return 0;
}
10.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
4
ifstream f("bac.in"); ofstream g("bac.out");
char s[1001], v[]="aeiouAEIOU"; int i=0;
f.get(s,1001);
while(s[i]!=0)
{
if(s[i]>='a' && s[i]<='z') g<<char(s[i]-32);
else g<<s[i];
if(strchr(v,s[i])!=0) g<<'!';
i++;
}
f.close(); g.close();
return 0;
}
11.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
ofstream f("bac.out");
char s[256], v[]="aeiouAEIOU"; int i,x=0,k;
cout<<"Introduceti sirul: "; cin.get(s,255); k=strlen(s);
//numaram vocalele din sir
for(i=0;i<k;i++)
if(strchr(v,s[i])!=0) x++;
if(2*x>=k)
for(i=0;i<k;i++)
if(strchr(v,s[i])!=0) f<<char(s[i]+1); //inlocuiesc vocalele
else f<<s[i];
else
for(i=0;i<k;i++)
if(strchr(v,s[i])==0) f<<char(s[i]-1);
//inlocuiesc consoanele
else f<<s[i];
f<<'\0';
f.close();
return 0;
}
12.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[256]; int i;
cout<<"Introduceti sirul: "; cin.get(s,255);
5
for(i=0;s[i]!=0;i++)
if(s[i]>='0' && s[i]<='9') cout<<s[i];
return 0;
}
13.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
ifstream f("fisier.txt");
char s[21]; int n,i,k=0;
f>>n;
for(i=1;i<=n;i++)
{
f.getline(s,21); //citesc un sir
if(strstr(s,"bac")!=0) k++;
//verific daca contine sirul „bac”
}
cout<<k<<" cuvinte contin sirul bac";
f.close();
return 0;
}
14.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[101], t[101],c,*p; int k,x,ok=1;
cout<<"Introduceti primul sir: "; cin.get(s,101);
cin.get();
cout<<"Introduceti al doilea sir: "; cin.get(t,101);
if(strlen(s)!=strlen(t)) ok=0; //au lungimi diferite
else
{
for(c='a';c<='z' && ok==1;c++) //fiecare litera din alfabet
{
x=k=0;
p=strchr(s,c);
while(p!=0) //numar de cate ori apare litera c in sirul s
{
x++; p=strchr(p+1,c);
}
p=strchr(t,c);
while(p!=0) //numar de cate ori apare litera c in sirul t
{
k++; p=strchr(p+1,c);
6
}
if(x!=k) ok=0; //daca numarul de aparitii difera
}
}
if(ok==1) cout<<"anagrame";
else cout<<"nu sunt anagrame";
return 0;
}
15.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char cuv1[11], cuv2[56]; int i,j,k=0;
cout<<"Introduceti sirul:"; cin.get(cuv1,11);
for(i=0;cuv1[i]!=0;i++)
for(j=1;j<=i+1;j++)
cuv2[k++]=cuv1[i];
cuv2[k]='\0';
cout<<"Sirul obtinut este: "<<cuv2;
return 0;
}
16.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[201], *p, *q, v[]="aeiou"; int i,k;
cout<<"Introduceti textul:";
cin.get(s,201);
p=strtok(s," "); //primul cuvant
while(p!=0)
{
k=0; //numar vocalele din p
for(i=0; p[i]!=0; i++)
if(strchr(v,p[i])!=0) k++;
if(k<=3) cout<<p<<endl;
p=strtok(NULL," "); //urmatorul cuvant din text
}
return 0;
}

7
17.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[16], v[]="aeiou"; int i=0;
cout<<"Introduceti cuvantul: "; cin.get(s,16);
while(s[i]!=0)
if(strchr(v,s[i])!=0) //s[i] este vocala
{
strcpy(s+i,s+i+1); //sterg vocala s[i]
cout<<s<<endl;
}
else i++;
return 0;
}
18.

#include<iostream.h>
#include<string.h>
#include<fstream.h>
int main()
{
char s[16], v[]="aeiou",*p; int i=0;
cout<<"Introduceti cuvantul: "; cin.get(s,16);
for(i=0;v[i]!=0;i++) //parcurg multimea vocalelor
{
p=strchr(s,v[i]); //vocale v[i] apare in text
if(p!=0)
{
while(p!=0) ii sterg toate aparitiile
{
strcpy(p,p+1); p=strchr(s,v[i]);
}
cout<<s<<endl; //afisez sirul obtinut
}
}
return 0;
}

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