Orar semigroup #2

Orar semigroup #2

Probleme 7 octombrie

1) Scrieţi un progra care citeşte de la tastatură un cuvânt de maximum 20 de litere şi îl codifică: fiecare literă o înlocuieşte cu cea care urmează după aceasta în alfabet, iar pe 'a' în codifică în 'z'.

#include<iostream>
using namespace std;
int main()
{char a[100];
int i;

cin.get(a,20);
for(i=0;i<strlen(a);i++)
{if(a[i]=='a')a[i]='z';
else a[i]=a[i]+1;
}
cout<<endl;
cout<<a;
}
2) Să se interschimbe primul şi ultimul caracter al şirului s citit de la tastatură. Şirul poate conţine şi spaţii, pe orice poziţie.
#include<iostream>
using namespace std;
int main()
{char a[100];
int i;
cin.get(a,100);

i=a[0];
a[0]=a[strlen(a)-1];
a[strlen(a)-1]=i;

cout<<a;
}
3) Se dă un şir de caractere, litere mici ale aflabetului englez şi cifre. Primul caracter din şir e literă. Fiecare literă e urmată de o cifră nenulă. Să se construiască un nou şir, care să conţină fiecare literă din şirul iniţial repetată de atâtea ori câte o indică cifra de după ea. Ex: a1b1r2 -> abrr
#include<iostream>
using namespace std;
int main()
{char b[100],a[100];
int i,j=0,p;
cin.get(a,100);

for(i=0;i<strlen(a);i=i+2)
{b[j]=a[i];
j++;
p=a[i+1]-'0';
while(p>1)
{b[j]=a[i];j++;p--;}
}
b[j]=0;
cout<<b;
}
4) Citim de la tastatură n prenume(n<=10). Un prenume conţine cel mult 12 caractere. Să se ordoneze alfabetic.

5) Să se afişeze sufixele şi prefixele unui cuvânt.

#include<iostream>
using namespace std;
int main()
{char a[100];
int i,j,n;
cin>>a;

for(i=0;i<strlen(a);i++)
    {
    for(j=0;j<=i;j++)
        cout<<a[j];
    cout<<endl;
    }

cout<<"--------"<<endl;

i=0;
for(n=strlen(a)-1;n>=0;n--)
    {
    for(j=i;j<strlen(a);j++)
        cout<<a[j];
    i++;
    cout<<endl;
    }

}
6) Se citeşte un şir format din unul sau mai multe caractere, care conţine numele unei persoane urmat de unul sau mai multe spaţii şi prenumele acesteia.
a) să se formeze un alt şir ce conţine prenumele, exact un spaţiu şi numele.
b) să se formeze un alt şir ce conţine iniţiala prenumelui, caracterul '.', un spaţiu şi numele
#include<iostream>
using namespace std;
int main()
{char a[100],v[100]="aeiouAEIOU",b[100],c[100];
int i,p,n,j=0,k=0;
cin.get(a,100);
n=strlen(a);
cout<<"Punctul a)"<<endl;
for(i=0;i<n;i++)
    if(a[i]==' ')p=i;

for(i=p+1;i<n;i++)
    {b[j]=a[i];j++;}

b[j]=' ';j++;

for(i=0;i<n;i++)
    {if(a[i]!=' ')
        {b[j]=a[i];
        j++;}
    if(a[i]==' ')break;}
b[j]=0;
cout<<b;

cout<<endl<<"Punctul b)"<<endl;
for(i=0;i<n;i++)
    if(a[i]==' ')p=i;

c[k]=a[p+1];k++;
c[k]='.';k++;
c[k]=' ';k++;
for(i=0;i<n;i++)
    {if(a[i]!=' ')
        {c[k]=a[i];
        k++;}
    if(a[i]==' ')break;}
c[k]=0;
   
cout<<c;

}
7) Se citeşte un cuvânt care conţine cel puţin 2 vocale. Să se elimine din el prima şi ultima vocală.
#include<iostream>
using namespace std;
int main()
{char a[100],v[100]="aeiouAEIOU";
int i,p,n;
cin.get(a,100);
n=strlen(a);

for(i=0;i<n;i++)
    if(strchr(v,a[i])){p=i;break;}
   
for(i=p;i<n;i++)
    a[i]=a[i+1];

for(i=0;i<n-1;i++)
    if(strchr(v,a[i]))p=i;

for(i=p;i<n-1;i++)
    a[i]=a[i+1];

cout<<a;
}
8) Se citeşte un şir de caractere. Să se afişeze perechile de caractere alăturare care sunt ambele vocale sau egale.
#include<iostream>
using namespace std;
int main()
{ char a[100];
int i,p=0;
cin.get(a,100);

if(isalpha(a[0]))
    p=1;
else p=0;

cout<<"Perechi de vocale"<<endl;
for(i=0;i<strlen(a);i++)
    if(strchr("aeiouAEIOU",a[i]) && strchr("aeiouAEIOU",a[i+1]))
        cout<<a[i]<<";"<<a[i+1]<<endl;
   
    cout<<endl;
   
cout<<"Perechi de caractere egale"<<endl;   
for(i=0;i<strlen(a);i++)
    if(a[i]==a[i+1])
        cout<<a[i]<<";"<<a[i+1]<<endl;

    cout<<endl;
   
cout<<"Numarul de cuvinte"<<endl;
for(i=0;i<strlen(a);i++)
    if(a[i]==' ' && isalpha(a[i+1]))
        p++;
   
cout<<p;
   
}

joi, 7 octombrie 2010 by DlMuresan
Categories: , , , , | Leave a comment

Română

Descărcaţi arhiva cu cele 18 poze(40,9 MB):
LINK 1
sau

Sau vizualizaţi pozele direct de aici(click stânga)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

luni, 4 octombrie 2010 by DlMuresan
Categories: , | Leave a comment

C++ Help

http://www.unixinside.org/papers/C++-Book/cap5.html

by DlMuresan
Categories: , , | Leave a comment

Problema Bacalaureat

Se citeste un cuvant format din 20 de caractere, doar litere mici. Sa se transforme cuvantul prin inlocuirea fiecarei vocale cu un sir format din 2 caractere: vocala respectiva, urmata de litera mare corespunzatoare.

#include<iostream>
using namespace std;
int main()
{char x[100],a[100],b[100];
int i,j=0,n;
cout<<"Cuvantul: ";
cin>>a;

for(i=0;i<strlen(a);i++)
{    b[j]=a[i];j++;
if(strchr("aeiou",a[i]))
    {b[j]=toupper(a[i]);j++;}
}
b[j]=0;

cout<<b;   

}

by DlMuresan
Categories: , , | Leave a comment

Probleme 4 octombrie

1) Citim de la tastatura un text format din cuvinte separate de unul sau mai multe spatii. Sa se transforme prima litera din fiecare cuvant in litera mare.

#include<iostream>
using namespace std;
int main()
{char a[100];
int i;
cin.get(a,100);
if(isalpha(a[0]))
    a[0]=toupper(a[0]);

for(i=1;i<strlen(a);i++)
    if(a[i-1]==' ' && isalpha(a[i]))
        a[i]=toupper(a[i]);
   
cout<<a;
}
2) Se citeste de la tastatura un sir de caractere: a) sa se afiseze perechile de caractere alaturate care sunt ambele vocale; b) sa se afiseze perechile de caractere alaturate care sunt ambele egale; c) sa se numere cuvintele din sir.
#include<iostream>
using namespace std;
int main()
{ char a[100];
int i,p=0;
cin.get(a,100);

if(isalpha(a[0]))
    p=1;
else p=0;

cout<<"Perechi de vocale"<<endl;
for(i=0;i<strlen(a);i++)
    if(strchr("aeiouAEIOU",a[i]) && strchr("aeiouAEIOU",a[i+1]))
        cout<<a[i]<<";"<<a[i+1]<<endl;
   
    cout<<endl;
   
cout<<"Perechi de caractere egale"<<endl;   
for(i=0;i<strlen(a);i++)
    if(a[i]==a[i+1])
        cout<<a[i]<<";"<<a[i+1]<<endl;

    cout<<endl;
   
cout<<"Numarul de cuvinte"<<endl;
for(i=0;i<strlen(a);i++)
    if(a[i]==' ' && isalpha(a[i+1]))
        p++;
   
cout<<p;
   
}
   

by DlMuresan
Categories: , | Leave a comment