Sie sind auf Seite 1von 26

Tipul tablou bidimensional

1. //problema 1/15 manual


#include<iostream.h>
#include<conio.h>
int n,m,l1,l2,i,j,gasit;
int a[20][20];
main()
{ clrscr();
cout<<"Dimensiunea matricii ";
cin>>m; cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Liniile pe care le comparam ";
cin>>l1>>l2;
gasit=0;
j=1;
do
{ if(a[l1][j]!=a[l2][j])
gasit=1;
else j++;
} while(gasit==0&&j<n);
if(gasit==0) cout<<"Liniile "<<l1<<"si "<<l2<<"sunt identice ";
else cout<<"Liniile nu sunt identice";
getch();
}

2. //problema 2/15 manual


#include<iostream.h>
#include<conio.h>
int n,m,i,j,l,max;
int a[20][20];
main()
{ clrscr();
cout<<"Dimensiunea matricii ";
cin>>m; cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<"Liniila pe care cautam maxim ";
cin>>l;
max=-1;
for(j=1;j<=n;j++)
{ if(a[l][j]%2==0&&a[l][j]>max)

27

max=a[l][j];
}
if(max==-1) cout<<"Nu exista elemente pare ";
else cout<<"Elem maxim din linia "<<l<<" este "<<max;
getch();
}

3. //problema 3/15 manual


#include<iostream.h>
#include<conio.h>
int a[20][20], b[20][20], c[20][20];
int m,n,i,j;
main()
{ clrscr();
cout<<"m="; cin>>m;
cout<<"n="; cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{cout<<"b["<<i<<"]["<<j<<"]=";
cin>>b[i][j];
}
for(i=1;i<=m;i++)
{for(j=1;j<=n;j++)
{
if(a[i][j]>=b[i][j])
c[i][j]=a[i][j];
else
c[i][j]=b[i][j];
cout<<c[i][j]<<" ";
}
cout<<endl;
}
getch();
}

4. //problema 4/16 manual


#include<iostream.h>
#include<conio.h>
int a[20][20];
int i,j,n;
main()
{ clrscr();
cout<<"Dimensiunea matricii "; cin>>n;
for(i=1;i<=n;i++)

27

for(j=1;j<=n;j++)
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
int nr=0;
for(i=1;i<=j;i++)
{for(j=1;j<=n;j++)
{if(i>j)
{ cout<<" ";
if (a[i][j]>0) nr++;}
else cout<<a[i][j];
cout<<" ";}
cout<<endl;
}
cout<<"Nr elem pozitive de sub diagonala principala "<<nr;
getch();
}

5. //problema 5/16 manual


#include<iostream.h>
#include<conio.h>
int m,n,i,j;
int a[20][20];
int b[20];
main()
{ clrscr();
cout<<"m="; cin>>m;
cout<<"n="; cin>>n;
for(i=1;i<=m;i++)
b[i]=0;
for(i=1;i<=m;i++)
{for(j=1;j<=n;j++)
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
b[i]=b[i]+a[i][j]; }
}
for(i=1;i<=m;i++)
{for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<" "<<b[i]<<endl;}
getch();
}

Tipul caracter

27

6. Program rima
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
main()
{
clrscr();
char s[20],p[20];
int nr,i,j;
cout<<"Primul cuvant ";
gets(s);
cout<<"Al doilea cuvant ";
gets(p);
char rima[10];
int L=strlen(s);
cout<<"Numarul de caractere "; cin>>nr;
for(i=0;i<=nr;i++)
rima[i]=s[strlen(s)-nr+i];
puts(rima);
if(strstr(p,rima)&&rima[nr]==NULL)
cout<<"Cuvintele sunt rime";
else cout<<"Cuvintele nu sunt rime";
getch();
}

7. Program prefix1
#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
main()
{
char s[20];
int i;
cout<<"Introdu cuvantul ";
gets(s);
int lungime=0;
do
{
for(i=0;i<=lungime;i++)
cout<<s[i];
lungime++;
cout<<endl;}
while(lungime<strlen(s)-1);
getch(); }

27

8. Program prefix2
#include
#include
#include
#include

<iostream.h>
<string.h>
<conio.h>
<stdio.h>

main()
{
char s[20], prefix[20];
int L,i;
clrscr();
cout<<"\nIntroduceti sirul ";
gets(s);
L=strlen(s);
for(i=0;i<=L-1;i++)
{ strncpy(prefix,s,i);
prefix[i]=NULL;
puts(prefix);
}
getch();
}

9. Program suffix
#include<iostream.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>
main()
{clrscr();
char s[20], sufix[20];
int i,L;
cout<<"Sirul introdus "<<endl;
gets(s);
L=strlen(s)-1;
do
{ for(i=1;i<=L;i++)
cout<<s[i];
cout<<endl;
L--;
} while(L>=1);
getch();
}

27

10.

Program vocale

#include <iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
main()
{
clrscr();
char s[50],vocale[10];
int i, nr;
cout<<"Introdu vocalele";
gets(vocale);
cout<<"Introdu textul ";
gets(s);
nr=0;
for(int j=0; j<=strlen(vocale)-1;j++)
for(int k=0;k<=strlen(vocale)-1;k++)
for(i=0;i<=strlen(s)-2;i++)
if(s[i]==vocale[j]&&s[i+1]==vocale[k])
{ cout<<"('"<<s[i]<<"','"<<s[i+1]<<"')"<<endl;
nr++;
}
cout<<"Numarul de perechi "<<nr;
getch();
}

11.

Despartirea unei fraze in cuvinte

#include <iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
int j,i,nr;
char s[70], cuvant[20];
main()
{
clrscr();
cout<<"Introdu sirul\n";
gets(s);
nr=0;
for(i=0;i<=strlen(s)-1;i++)
if(s[i]!=' '&&s[i]!=','&&s[i]!='.')
{cuvant[nr]=s[i];
nr++;}
else
{puts(cuvant);
for(j=0;j<=nr;j++)

27

cuvant[j]=NULL;
nr=0;
}
getch();
}

12.
Despartirea in cuvinte si ordonarea in ordine
alfabetica
#include <iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
int j,i,nr,gasit,n;
char s[70], cuvant[20][70],temp[70];
main()
{
clrscr();
cout<<"Introdu sirul\n";
gets(s);
nr=0;
int k=1;
for(i=0;i<=strlen(s)-1;i++)
if(s[i]!=' '&&s[i]!=','&&s[i]!='.'&&s[i+1]!=NULL)
{cuvant[k][nr]=s[i];
nr++;}
else
{puts(cuvant[k]);
for(j=0;j<=nr;j++)
cuvant[k][j]=NULL;
k++;
nr=0;
}
n=k;
gasit=1;
while (gasit)
{gasit=0;
for(i=1;i<n-1;i++)
if(strcmp(cuvant[i],cuvant[i+1])>0)
{
strcpy(temp,cuvant[i]);
strcpy(cuvant[i],cuvant[i+1]);
strcpy(cuvant[i+1],temp);
gasit=1;
}
}
for(i=1;i<=n;i++)
{puts(cuvant[i]);
cout<<endl;}

27

getch();
}

Structuri
13.
//program care calculeaza cea mai mare medie a
elevilor dintr-o lista
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
typedef struct
{ char nume[20], scoala[30];
int media, venit;
} situatie;
situatie elev[30];
int n,i,k,s;
main()
{ clrscr();
cout<<"Nuamrul de elevi"; cin>>n;
k=1; s=0;
for(i=1;i<=n;i++)
{cout<<"Nume "<<i<<" "; gets(elev[i].nume);
cout<<"Scoala "<<i<<" "; gets(elev[i].scoala);
cout<<"Media "<<i<<" "; cin>>elev[i].media;
cout<<"Venit "<<i<<" "; cin>>elev[i].venit;
cout<<endl;
s=s+elev[i].media;
}
cout<<endl;
for(i=1;i<=n;i++)
{
if(elev[i].media>elev[k].media)
k=i;
}
float media=s/n;
cout<<"Media pe clasa "<<media;
cout<<"\nElevul cu cea mai mare medie "<<elev[k].nume<<"\n de la scoala ";
puts(elev[k].scoala);
cout<<" are media "<<elev[k].media<<" si un venit de "<<elev[k].venit;
getch();
}

27

14.

//descompunerea unui numar in factori primi

#include <stdio.h>
#include<iostream.h>
typedef struct
{ int prim, putere;
} factor;
factor numar[10];
int main()
{
int n,div,,k;
div=2;k=1;
cout<<"n="; cin>>n;
while(n!=1)
{
if(n%div==0)
{
numar[k].prim=div;
numar[k].putere=0;
cout<<numar[k].prim<<" ";
while(n%div==0)
{
n/=div;
numar[k].putere++;
}
cout<<numar[k].putere<<endl;
}
div++;
}
getchar();
getchar();
}

15.
//evidenta elevilor dintr-o scoala si calculul notei la
purtare in functie de nr de absente
#include <iostream.h>
#include<conio.h>
#include<stdio.h>
typedef struct
{char nume[20];
int abs,nota;
} catalog;
catalog elev[30];
int n, i;
main()
{ clrscr();
cout<<"Introdu numarul elevilor "; cin>>n;
for(i=1;i<=n;i++)

27

cout<<"\n\nNume elev "; gets(elev[i].nume);


cout<<"Numar absente"; cin>>elev[i].abs;
if(elev[i].abs<10) elev[i].nota=10;
else if(elev[i].abs>=10&&elev[i].abs<40)
elev[i].nota=9;
else if(elev[i].abs>=40&&elev[i].abs<70)
elev[i].nota=8;
else elev[i].nota=4;
cout<<"Nota la purtare "<<elev[i].nota;
}
getch();
}

16.
//2/51. Decide daca doua numere sunt sau nu
oglindite
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<fstream.h>
typedef struct
{ int x,y;
}pereche;
pereche nr[20];
int n,i,aux,temp;
main()
{
cout<<"Introdu nr de perechi "; cin>>n;
for(int i=1;i<=n;i++)
{cout<<"\nPerechea "<<i<<"\nx="; cin>>nr[i].x;
cout<<"y="; cin>>nr[i].y;
aux=0; temp=nr[i].y;
do {
aux=aux*10+temp%10;
temp=temp/10;
} while(temp!=0);
if(aux==nr[i].x)
cout<<nr[i].x<<","<<nr[i].y<<endl;
else cout<<"Nu sunt numere oglindite\n";
}
getch();
}

17.

//analog cu anterioarea, dar foloseste fisiere

#include<iostream.h>
#include<conio.h>
#include<stdio.h>

27

#include<fstream.h>
typedef struct
{ int x,y;
}pereche;
pereche nr[20];
int n,i,aux,temp;
ifstream f;
main()
{ f.open("perechi.txt");
f>>n;
for(int i=1;i<=n;i++)
{cout<<"\nPerechea "<<i<<": "; f>>nr[i].x;
f>>nr[i].y;
aux=0; temp=nr[i].y;
do {
aux=aux*10+temp%10;
temp=temp/10;
} while(temp!=0);
if(aux==nr[i].x)
cout<<nr[i].x<<","<<nr[i].y<<endl;
else cout<<"\nNu sunt numere oglindite\n";
}
getch();
}

Uilizarea functiei case


18.

//alegerea intre doua operatii

#include <stdio.h>
#include<iostream.h>
main()
{
int m, n1, n2, k;
cout<<"Introdu doua numere ";
cin>>n1>>n2;
cout<<"Optiunea dvs: "<<"\n1=Adunare"<<"\n2=Scadere\n";
cin>>m;
switch( m ) {
case 1: k = n1 + n2; break;
case 2: k = n1 - n2; break;
default: cout<<"Selectia invalida!";
}
if( m == 1 )
cout<<n1<<"+"<<n2<<"="<<k;

27

else if( m == 2 )
cout<<n1<<"-"<<n2<<"="<<k;
}

19.

//alegerea intre mai multe operatii

#include<iostream.h>
#include<stdio.h>
#include<conio.h>
int n1,n2,k;
char m;
main()
{clrscr();
cout<<"Introdu numerele ";
cin>>n1>>n2;
cout<<"Introdu optiunea ta +,-,*,/,% "; cin>>m;
switch(m)
{ case '+': k=n1+n2; break;
case '-': k=n1-n2; break;
case '*': k=n1*n2; break;
case '/': k=n1/n2; break;
case '%': k=n1%n2; break;
default: cout<<"Operatie gresita ";
}
cout<<"\n\nrezultatul operatiei cerute este "<<k;
getch();
}

Tipul tablou bidimensional


20.

//problema 6/16

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int a[20][20],m,n,i,j,k,s;
main()
{
clrscr();
cout<<"m="; cin>>m;
cout<<"n="; cin>>n; //am citit dimensiunile matricii
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
} //am citit elementele matricii
k=0; //presupun ca linia pe care se afla cele mai multe valori de 1 este linia 1
int max=0;
//for(i=1;i<=m;i++)
i=1;
do
{
s=0;

27

for(j=1;j<=n;j++)
s=s+a[i][j];
if(s>max)
{ max=s;
k=i;}
i++;
}while(i<=m);
cout<<"Linia pe care se afla cei mai multi de 1 este "<<k;
getch();
}

21.

//problema 7/16

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int a[20][20],s[20],i,j,k,n;
main()
{ clrscr();
cout<<"Dimensiunea matricii "; cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{ cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j];
}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
k=0; //initial vectorul contine 0 elemente
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
//elementele aflate deasupra diagonalei
principale
if(a[i][j]>0)
{k++;
s[k]=a[i][j];
}
cout<<"Elementele cerute sunt ";
for(i=1;i<=k;i++)
cout<<s[i]<<" ";
getch();
}

27

22.

//problema 8/16

#include <iostream.h>
int a[100][100], m,n,i,j,aux,l1,l2;
main()
{ cout<<"m="; cin>>m;
cout<<"n="; cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
cout<<endl;
for(i=1;i<=m;i++)
{for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl; }
cout<<"l1="; cin>>l1;
cout<<"l2="; cin>>l2;
if(l1>=1&&l1<=m&&l2>=1&&l2<=m)
for(j=1;j<=n;j++)
{ aux=a[l1][j];
a[l1][j]=a[l2][j];
a[l2][j]=aux;
}
else cout<<"Valorile introduse nu sunt corecte";
cout<<endl<<"Matricea modificata este"<<endl;
for(i=1;i<=m;i++)
{for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl; }
}

23.

//problema 13/17

#include<iostream.h>
int a[10][10], n, i,j;
main()
{ cout<<"n="; cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
{a[i][j]=i-j+1;
a[j][i]=a[i][j];
}

27

for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}

24.

//problema 11/16

#include<iostream.h>
#include<conio.h>
int a[20][20],n,i,j,k,aux;
main()
{ clrscr();
cout<<"Dimensiunea matricii "; cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
int gasit=1;
while(gasit)
{ gasit=0;
for(i=1;i<n;i++)
if(a[i][i]>a[i+1][i+1])
{for(j=1;j<=n;j++)
{aux=a[i][j];
a[i][j]=a[i+1][j];
a[i+1][j]=aux;
}
for(k=1;k<=n;k++)
{ aux=a[k][i];
a[k][i]=a[k][i+1];
a[k][i+1]=aux;
}
gasit=1; }
}
cout<<"Matricea ordonata este\n";
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}

27

getch();
}

25.

//problema 15/18

#include <iostream.h>
#include <conio.h>
main()
{ int a[10][10],i,j,n,l1,l2,c1,c2;
cout<<"n="; cin>>n;
l1=1; l2=n;
c1=1; c2=n;
int k=1;
do
{
for(j=c1;j<=c2;j++)
{
cin>>a[l1][j];
k++;}
l1++;
for(i=l1;i<=l2;i++)
{ cin>>a[i][c2];
k++;}
c2--;
for(j=c2;j>=c1;j--)
{ cin>>a[l2][j];
k++;
}
l2--;
for(i=l2;i>=l1;i--)
{ cin>>a[i][c1];
k++;
}
c1++;
} while(k<=n*n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}

Liste

27

26.

//problema 1/58 manual

#include<iostream.h>
#include<conio.h>
int l[20], n,i;
main()
{ clrscr();
cout<<"Nr de elemente al listei "; cin>>n;
for(i=1;i<=n;i++)
{ cout<<"l["<<i<<"]=";
cin>>l[i];
}
int ord=1; //presupun initial ca elementele listei sunt ordonate
while(ord)
{
for(i=1;i<n;i++)
if(l[i]>l[i+1])
{ord=0;
cout<<"Elementele listei nu sunt ordonate";}
if(ord)
cout<<"Elementele listei sunt ordonate";
ord=0;}
getch();
}

27.

//problema 2/58 manual

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
typedef struct{
char titlu[20], regizor[20];
int t;
} film;
film f[20];
int n,i,o,poz;
main()
{ clrscr();
n=0;
do { cout<<"\n\nOptiunea ta [1-inserare],[2-stergere],[3-afisare] "; cin>>o;
switch(o)
{ case 1: cout<<"Pozitia pe care inserezi "; cin>>poz;
if(poz>n+1) cout<<"Pozitie incorecta ";
else
{ n++;
for(i=n;i>poz;i--)
f[i]=f[i-1];
cout<<"titlu "; gets(f[poz].titlu);
cout<<"regizor "; gets(f[poz].regizor);
cout<<"Durata "; cin>>f[poz].t;

27

} break;
case 2: cout<<"Pozitia pe care o stergi "; cin>>poz;
if(n==0) cout<<"Nu sunt elemente de sters ";
else
{
if(poz>n) cout<<"Pozitie incorecta ";
else
{ for(i=poz;i<=n;i++)
f[i]=f[i+1];
n--;
}
} break;
case 3: for(i=1;i<=n;i++)
{ cout<<"\n\ntitlu "<<f[i].titlu;
cout<<"\nregizor "<<f[i].regizor;
cout<<"\ndurata "<<f[i].t;
}
break;
} } while (o>=1&&o<=3);
getch();
}

Coada
28.

//problema 1/63(incercati singuri!)

#include<iostream.h>
#include<conio.h>
int i,n,c[20],o,x;
main()
{ clrscr();
n=0;
do
{ cout<<"\nOptiunea dvs(1-inserare,2-stergere,3-afisare):"; cin>>o;
switch(o)
{case 1: n++;
cout<<"Numarul de inserat "; cin>>x;
c[n]=x;break;
case 2: for(i=1;i<n;i++)
c[i]=c[i+1];
n--; break;
case 3: if(n==0) cout<<"Nu sunt elemente de afisat";
else
{ for(i=1;i<=n;i++)
cout<<c[i]<<" ";
} break;
}} while(o>0&&o<4);

27

getch();
}

29.

// problema 1/63 - aprofundare

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
int m,n,L1[20], L2[20],i,j,L3[20],o,t;
main()
{ clrscr();
cout<<"Nr de elemente al primei liste: "; cin>>n;
cout<<"Elementele multimii L1:\n";
for(i=1;i<=n;i++)
{cout<<"L1["<<i<<"]="; cin>>L1[i];
}
cout<<"Nr de elemente al celei de-a doua liste: "; cin>>m;
cout<<"Elementele multimii L2:\n";
for(j=1;j<=m;j++)
{ cout<<"L2["<<j<<"]="; cin>>L2[j];
}
cout<<"Optiunea dvs(1-reuniune,2-intersectie,3- L1-L2,4- L2-L1)" ;
cin>>o;
switch(o)
{ case 1:for(i=1;i<=n;i++)
L3[i]=L1[i];
t=n;
j=1;
do { int gasit=0;
for(i=1;i<=n;i++)
if(L2[j]==L1[i])
gasit=1;
if(gasit==0)
{t++; L3[t]=L2[j];}
j++;
} while(j<=m);
for(i=1;i<=t;i++)
cout<<L3[i]<<"
";break;
case 2: t=0;
j=1;
do
{ for(i=1;i<=n;i++)
if(L1[i]==L2[j])
{t++; L3[t]=L1[i]; }
j++;}
while(j<=m); for(i=1;i<=t;i++) cout<<L3[i]<<" ";break;
case 3: t=0;
i=1;

27

do { int gasit=0;
for(j=1;j<=m;j++)
if(L1[i]==L2[j])
gasit=1;
if(gasit==0)
{t++; L3[t]=L1[i];}
i++;}
while(i<=n);
cout<<L3[i]<<" "; break;
case 4: t=0;
j=1;
do { int gasit=0;
for(i=1;i<=m;i++)
if(L1[i]==L2[j])
gasit=1;
if(gasit==0)
{t++; L3[t]=L2[j];}
j++;}
while(j<=m);
cout<<L3[i]<<" "; break;
} while(o>0&&o<4);
//for(i=1;i<=t;i++)
//
cout<<L3[i]<<" ";
getch();
}

for(i=1;i<=t;i++)

for(i=1;i<=t;i++)

Diverse

30.

//calculeaza nr de cifre pare al unui numar nr

//problema 1/85 manual


#include<iostream.h>
#include<conio.h>
int cifre(long x)
{ int p;
p=0;
while(x)
{ if((x%10)%2==0) p++;
x=x/10;
}
return p;
}
long nr;
main()
{ clrscr();
cout<<"Introdu numarul ";cin>>nr;

27

cout<<"Numarul de cifre pare al numarului este :"<<cifre(nr);


getch();
}

31.

//subprograme - problema 1/71 manual

#include<conio.h>
#include<iostream.h>
#include<math.h>
float ma(float a, float b)
{ return (a+b)/2;
}
float patrate(float a, float b)
{ return a*a+b*b;
}
float cuburi(float a, float b)
{ return pow(a,3)+pow(b,3);
}
main()
{ int x,y,o;
cout<<"X="; cin>>x;
cout<<"Y="; cin>>y;
do
{ cout<<"Optiunea dvs[1-media][2-suma patratelor][3-suma cuburilor]";
cin>>o;
switch(o)
{ case 1: cout<<ma(x,y); break;
case 2: cout<<patrate(x,y); break;
case 3: cout<<cuburi(x,y); break;
}
} while(o<1&&o>3);
getch();
}

32.
//ordonarea unui sir de cuvinte introduse de la
tastatura
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>

27

char sir[10][20],aux[20];
int i,n;
main()
{clrscr();
cout<<"Introdu numarul de cuvinte "; cin>>n;
for(i=1;i<=n;i++)
cin>>sir[i];
int gasit=1;
while(gasit==1)
{
gasit=0;
for(i=1;i<=n-1;i++)
if(strcmp(sir[i],sir[i+1])>0)
{strcpy(aux,sir[i]);
strcpy(sir[i],sir[i+1]);
strcpy(sir[i+1],aux);
gasit=1;
}
}
cout<<endl<<"Sirul ordonat este "<<endl;
for(i=1;i<=n;i++)
cout<<sir[i]<<endl;
getch();
}

33.

//verifica daca un cuvant este sau nu palindrom

#include<iostream.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>
char s[20],t[20];
int i;
main()
{clrscr();
cout<<"Introdu cuvantul";
cin>>s;
for(i=strlen(s)-1;i>=0;i--)
t[i]=s[strlen(s)-1-i];
if(strcmp(s,t)==0)
cout<<"Cuvantul este palindrom";
else cout<<"Cuvantul nu este palindrom";
getch();
}

27

34.
//afiseaza perechi de numere consecutive impare si
care au proprietatea ca sunt prime
#include<iostream.h>
#include<conio.h>
int prim(int n)
{ int d,p;
p=1; d=2;
while(d<n/2)
{
if(n%d==0)
p=0;
d=d+1;
}
return p;
}
main()
{int x;
cout<<"X="; cin>>x;
for(int i=3;i<=x;i=i+2)
{if(prim(i)&&prim(i+2))
cout<<"("<<i<<","<<i+2<<")\n";
}
getch();
}

35.
//sa se scrie un program care sterge toate aparitiile
unui subsir din cadrul unui sir
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
char sir[70], subsir[20],*p;
int i;
main()
{ clrscr();
cout<<"Sirul este "; gets(sir);
cout<<"Subsirul este "; cin>>subsir;
int lung_subsir=strlen(subsir);
p=strstr(sir, subsir);
while(p)
{

27

strcpy(p,p+lung_subsir);
p=strstr(p,subsir);
}
cout<<sir;
getch();
}

36.

//program 4/51 manual

#include <iostream.h>
#include <conio.h>
#include<string.h>
#include<stdio.h>
typedef struct{
char piesa[20], trupa[20];
int t,p;
} trupe;
trupe f[20], aux;
int i,n,c,durata;
main()
{ clrscr();
cout<<"Numarul de trupe: "; cin>>n;
c=1; durata=0;
for(i=1;i<=n;i++)
{ cout<<"\nDatele despre trupa "<<i;
cout<<"\npiesa "; gets(f[i].piesa);//cin>>f[i].piesa;
cout<<"trupa "; gets(f[i].trupa); //cin>>f[i].trupa;
cout<<"timpul "; cin>>f[i].t;
cout<<"punctajul "; cin>>f[i].p;
if(f[i].p>f[c].p) c=i;
durata+=f[i].t;
}
int gasit=1;
while(gasit==1)
{ gasit=0;
for(i=1;i<n;i++)
if(f[i].t<f[i+1].t)
{
aux=f[i];
f[i]=f[i+1];
f[i+1]=aux;
gasit=1;
}
}
cout<<"\nDurata totala a spectacolului "<<durata;
cout<<"\nOrdinea intrarii in concurs "<<endl;
for(i=1;i<=n; i++)
{ puts(f[i].piesa);

27

puts(f[i].trupa);
cout<<f[i].t<<endl;
}
cout<<"Echipa castigatoare "<<f[c].piesa<<"
"<<f[c].p;
getch();
}

37.

"<<f[c].trupa<<" "<<f[c].t<<"

//problema 3/63 manual - sortarea prin selectie

#include<iostream.h>
#include<conio.h>
int minim(int k,int x[20])
{int j,min;
min=1;
for(j=1;j<=k;j++)
if(x[j]<x[min])
min=j;
return min;
}
const MAXINT=9999;
int v[20],i,n,j,y[20];
main()
{ clrscr();
cout<<"Numarul de vagoane"; cin>>n;
for(i=1;i<=n;i++)
{ cout<<"v["<<i<<"]=";
cin>>v[i];}
j=1;
do
{ y[j]=v[minim(n,v)];
v[minim(n,v)]=MAXINT;
j++;
} while(j<=n);
for(j=1;j<=n;j++)
cout<<y[j]<<" ";
getch();
}

38.
//Afiseaza numarul de vocale si de consoane dintr-un
sir de caractere
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>

27

char sir[50];
int vocale=0, consoane=0,i;
main()
{clrscr();
cout<<"Sirul de caractere este ";
gets(sir);
i=0;
while(sir[i]!=0)
{switch(sir[i])
{ case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U': {vocale++; break;}
default : consoane++;
}
i++;
}
cout<<"Numarul de vocale este "<<vocale<<endl;
cout<<"Numarul de consoane este "<<consoane;
getch();
}

27

Das könnte Ihnen auch gefallen