# 1. //extragere cuvinte cu mai multe spatii si alte caractere

Yüklə 32,28 Kb.
 tarix 13.11.2017 ölçüsü 32,28 Kb. #9805
 Probleme rezolvate stringuri 1. //extragere cuvinte cu mai multe spatii si alte caractere #include #include #include void main() { char sir[200],cuv[200],*p,sep[]=",!? "; int i,j; clrscr(); cin.get(sir,100); i=1; while(i { if( strchr(sep,sir[i])!=NULL && strchr(sep,sir[i-1])==NULL) { strxfrm(cuv,sir,i+1); //prel cuvant strcpy(sir,sir+i);//sterg cout< //cout< i=0; while( strchr(sep,sir[i])!=NULL) strcpy(sir,sir+1); i=1;} else i++; } cout< //prelucreaza ultimul cuvant ramas in sir } //extragere cuvinte cu mai multe spatii sau alte caractere #include #include #include void main() { char sir[200],cuv[200],*p; int i,j; clrscr(); cin.get(sir,100); p=strchr(sir,' '); while(p) { strxfrm(cuv,sir,p-sir+1); //prelucrare cuvant strcpy(sir,p);int poz=p-sir; while(sir[poz]==' ') strcpy(sir,sir+1); p=strchr(sir,' '); cout< cout< } //prelucreaza ultimul cuvant ramas in sir } 2. /* un text de maxim 200 caractere, cuvinte separate printr-un singur spatiu; sa se afiseze cuvintele care contin cel mult 3 vocale */ #include #include #include #include void main() { clrscr(); char sir[255],cuv[255],voc[5]="aeiou",*p,*q;int i,n;char c[1]=" "; cin.get(sir,255); cin.get(); /* n=strlen(sir); */ p=strchr(sir,c[0]); while (p) { cuv[0]=0; /* ptr initializare sir vid cuv[0]=NULL sau cuv[0]='\0' */ strncpy(cuv,sir,p-sir); //Atentie sirul cuv nu este terminat cu NULL int k=0; cuv[p-sir]=0; n=strlen(cuv); for(i=0;i { if (strchr(voc,cuv[i])) k++;} if( k<=3) cout< strcpy(sir,p+1);/* sterg primul cuvant din sir */ cout< p=strchr(sir,c[0]); } n=strlen(sir); /* ultimul cuvant ramas in text */ int k=0; for(i=0;i { if (strchr(voc,sir[i])) k++;} if( k<=3) cout< } Exemplu #include #include #include void main() { clrscr(); int i=0; char x[1002]; fstream f("fis.txt",ios::out); for (i=1;i<=1000;i++) { f<<'a';} f.close(); fstream f1("fis.txt",ios::in); f1.getline(x,1001); f1.close(); cout< } 3. prefixe #include #include #include void main() { clrscr(); char sir[100],prefix[100]; int i; cout<<"cuvantul initial="; cin.get(sir,50); for(i=0;i { strxfrm(prefix,sir,i+2); cout< } } 4. sufixe #include #include #include void main() { clrscr(); char sir[100],sufix[100]; int i; cout<<"cuvantul initial="; cin.get(sir,50); for(i=0;i<=strlen(sir);i++) { strcpy(sufix,sir+strlen(sir)-i); cout< } } dintr-un cuvant in ordinea in care apar Ex: "examen" xamen, xmen, xmn */ #include #include #include void main() { clrscr(); char sir[255],voc[5]="aeiou",*p,*q;int i,n; cin.get(sir,20); n=strlen(sir); i=0; while (i{ p=strchr(voc,sir[i]);/* p=pointer pentru voc, q pointer pentru sir*/ if (p) {q=&sir[i];strcpy(q,q+1);cout< else i++; } } 6. /* fie sir="teuuuesppi", sa se stearga toate caracterele identice aflate pe pozitii succesive prima data va sterge uuu=> "teesppi" =>tsppi =>tsi... */ #include # include # include void main() { clrscr(); char sir[255],*p,*q,*r; cin.get(sir,255); cin.get(); p=q=r=sir; cout< int lung=strlen(sir); int i=1; while (i { int ok=0;p=&sir[i-1];q=&sir[i];int j=i; while (sir[j]==sir[i-1]) { j++;lung--;ok=1;q++;} if(ok) {strcpy(p,q);i--;} else i++; } cout< } 7. stergere…. #include #include #include void main() { char sir[200],final[200],c[30],cs[30],temp[100],*p; int i,j,l,nr; clrscr(); cin.get(sir,100); cin.get(); cin.get(c,25); l=strlen(c); final[0]=NULL; for(i=0;i cs[i]='*'; cs[l]=NULL; p=strstr(sir,c); while(p) { strxfrm(temp,sir,p-sir); strcat(final,temp); strcat(final,cs); nr=p-sir+l; strcpy(sir,sir+nr); p=strstr(sir,c); } strcat(final,sir); cout< 8. /* sa se stearga toate vocalele dintr-un cuvant in ordine alfabetica Ex: "bacalaureat" se va sterge a=> bcluret e=>bclurt...*/ #include #include #include void main() { clrscr(); char sir[255],voc[5]="aeiou",*p;int i; cin.get(sir,20); for(i=0;i<5;i++) { p=strchr(sir,voc[i]);int ok=0; while(p) { strcpy(p,p+1);p=strchr(sir,voc[i]);ok=1;} if (ok) cout< } } 9. test-cin #include # include # include void main() { clrscr(); char *p,*q; char sir1[255],sir2[255]; int i; /* p="ana are mere"; cout< p="test"; cout< q=++p; cout< cout< cin.get(sir1,255); cin.get(); cin.get(sir2,255); cout< cin>>sir1; /* retine primele caractere pana la spatiu*/ cout< } V7- sa se elimine ultima consoana dintr-un text #include #include #include void main() { clrscr(); char fraza[255]; int i; cout<<"fraza ="; cin.get(fraza,250); int ok=1; i=strlen(fraza)-1; while (i>0&& ok==1) { if(strchr("aeiou",fraza[i])==NULL &&fraza[i]!=' ') { strcpy(fraza+i,fraza+i+1); ok=0;} else i--; } cout< } V28 #include #include #include void main() { clrscr(); char cuv[21],voc[]="aeiou",*p,clona[21]; int i; cout<<"cuvant ="; cin.get(cuv,20); for(i=0;i<5;i++) { strcpy(clona,cuv); p=strchr(clona,voc[i]);int ok=0; while(p) { strcpy(p,p+1); p=strchr(clona,voc[i]); ok=1;} if(ok) cout< }Yüklə 32,28 Kb.Dostları ilə paylaş:

Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

Ana səhifə