Orar semigroup #2

Orar semigroup #2

Probleme 11 noiembrie

1/66 manual: Se citeste un text de la tastatura. Cuvintele se consideră separate prin spatiu, virgulă sau punct. Număraţi câte cuvinte conţine textul.

#include<iostream>
using namespace std;
int main()
{int i=0,j=0,n,k,s=0;
char a[100],b[100],c,*p;
cin.get(a,100);
if(isalpha(a[0]))
    i=1;

for(p=a;*p;p++)
    if( (isalpha(*p) || isdigit(*p)) && (*(p-1)==' ') )
        i++;
   
cout<<i;
}
2/66 manual: Se citeste o propozitie de la tastatură. Se consideră că separarea cuvintelor se face prin exact un spaţiu. Afişaţi numărul de cuvinte din text şi apoi fiecare cuvânt pe câte un rând.
#include<iostream>
using namespace std;
int main()
{int i=0,j=0,n,k,s=0;
char a[100],b[100],c,*p;
cin.get(a,100);
if(isalpha(a[0]))
    i=1;

for(p=a;*p;p++)
    if( (isalpha(*p) || isdigit(*p)) && (*(p-1)==' ') )
        i++;
   
cout<<i<<" cuvinte"<<endl;

for(p=a;*p;p++)
    if(*p!=' ')
        cout<<*p;
    else cout<<endl;
}
3/66 manual: Se citeste de la tastatură un caracter c şi apoi un text în care separarea cuvintelor se face prin cel puţin un spaţiu. Sa se numere cuvintele care conţin caracterul c şi să se afişeze cuvintele în care apare.
#include<iostream>
using namespace std;
int main()
{int i=0,j=0,n,k,s=0;
char a[100],b[100],c,*p;
cout<<"Caracterul: ";
cin>>c;
cin.ignore();
cin.get(a,100);

for(p=a;*p;)
{   
    while(*p!=' ')
        {b[j]=*p;
        j++;
        p++;}
        p++;
    b[j]=NULL;
    if(strchr(b,c))
        {cout<<b<<";";s++;}
        j=0;b[j]=NULL;
}
   
cout<<endl<<s;
}

joi, 11 noiembrie 2010 by DlMuresan
Categories: , , , | Leave a comment

Leave a Reply