Siruri de caractere

1. Se citeşte de la tastatură un cuvânt. Să se afişeze numărul iniţial de caractere ale cuvântului şi apoi să se şteargă toate vocalele din cuvânt.

#include<iostream.h>

#include<string.h>

#include<conio.h>

void main()

{int i;

char s[100];

cout<<"s=";cin.get(s,100);

cout<<"Sirul are: "<<strlen(s)<<" caractere"<<endl;

strlwr(s);

for(i=0;i<strlen(s);i++)

  if(s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||s[i]=='u')

 strcpy(s+i,s+i+1);

cout<<"sirul fara vocale="<<s;

}

 

2. Se citesc de la tastatură 2 şiruri de caractere. Să se verifice dacă sunt egale (la fel) fără a se face deosebire între literele mari şi literele mici.

#include<iostream.h>

#include<string.h>

#include<conio.h>

char s1[100],s2[100];

void citire()

{

cout<<"primul sir: ";cin.get(s1,100);cin.get();

cout<<"al doilea sir ";cin.get(s2,100);

}

void compara()

{int x;

x=stricmp(s1,s2);

strlwr(s1);strlwr(s2);

//transformam cele doua siruri in siruri numai cu litere mici

if(x>0) cout<<"Primul sir este mai mare\n ";

 else if(x==0) cout<<"Siruri sunt egale\n ";

  else cout<<"Al doilea sir este mai mare decat primul\n ";

}

void main()

{citire();

compara();

}

 

3. Fişierul litere.txt conţine un text scris cu litere mari pe una sau mai multe linii. Se cere:

a)       Să se afişeze litera ( literele) care apare de cele mai multe ori;

b)       Să se afişeze vocalele din text.

 

 

#include<iostream.h>

#include<string.h>

#include<fstream.h>

#include<io.h>

ifstream f("litere.txt");

int n;

char a[100];

void citire()

{int i;

i=0;

f>>a[i];

while(!f.eof())

{cout<<a[i];

i++;

/*pt nu a avea surprize ca fisierul sa nu aiba decat majuscule

transformam sirul in majusculele*/

strupr(a);

f>>a[i];

}

n=i;

f.close();

}

void maxim()

{

int b[50];

cout<<"\n numarul de caractere="<<n<<"\n";

int k=0;

for(char c='A';c<='Z';c++){

                b[k]=0;

                for(int j=0;j<n;j++)

                                if(c==a[j]) b[k]++;

                k++;

}

int max=b[0];

for(int i=1;i<k;i++)

                if(max<b[i])max=b[i];

cout<<"caracterele cu numar maxim de aparitii="<<max<<endl;

for(i=0;i<k;i++)

                if(b[i]==max)cout<<char(65+i)<<" ";

}

void vocale()

{char voc[]="AEIOU";

cout<<"\nvocalele din text\n";

for(int i=0;i<n;i++)

                for(int j=0;j<strlen(voc);j++)

                                if(a[i]==voc[j])cout<<a[i]<<" ";

cout<<"\n";

}

void  main()

{citire();

maxim();

vocale();

}

 

4. Se citeşte un text într-o variabilă de tip string, in care cuvintele se despart prin spaţii. Se cere:

a)       să se afişeze cuvintele în ordine alfabetică;

b)       să se numere cuvintele cu minim 4 vocale distincte.

 

#include <iostream.h>

#include <conio.h>

#include <string.h>

char cuv[10][10];

int n;

void sortare()

{ char aux[10];int x;

for(int i=1;i<n;i++)

                for(int j=1+i;j<=n;j++)

                {x=strcmp(cuv[i],cuv[j]);

                if(x>0){

                strcpy(aux,cuv[i]);

                strcpy(cuv[i],cuv[j]);

                strcpy(cuv[j],aux);

                }

}

for(i=1;i<=n;i++)cout<<cuv[i]<<" ";

cout<<endl;

}

int nrvocale(char s[10])

{char vocale[]="aeiou";int c;int nr=0;

strlwr(s);

for(int i=0;i<strlen(vocale);i++)

                { c=0;

                for(int j=0;j<strlen(s);j++)

                if(vocale[i]==s[j])c++;

                if(c!=0)nr++;

                }

if (nr>=4)return 1;

                else return 0;

 

}

void vocale4()

{

for(int i=1;i<=n;i++)

                if(nrvocale(cuv[i])==1)cout<<cuv[i]<<" ";

cout<<"\n";

}

int main()

{char a[100],*p,separator[]=" ";

int i=0,nr=0;

cout<<"Dati sirul:";cin.get(a,100);

strcpy(p,a);

p=strtok(p,separator);

while (p)

                {strcpy(cuv[++nr],p);

                 p=strtok(NULL,separator);}

cout<<"Sunt "<<nr<<" cuvinte:"<<endl;

for (i=1;i<=nr;i++) cout<<cuv[i]<<endl;

n=nr;

sortare();

vocale4();

return 0;

counter for wordpress

View My Stats