Documente Academic
Documente Profesional
Documente Cultură
#include<iostream.h>
void main()
{ int n,m,inv;
cout<<"n="; cin>>n;
inv=0;
m=n;
while (n!=0)
{inv=inv*10+n%10;
n=n/10;
if( inv==m)
}
2. Se citete n, numr natural. S se verifice dac
numrul este perfect.
#include<iostream.h>
void main()
{ int n,s,i;
cout<<"n="; cin>>n;
s=0;
for (i=1;i<=n/2;i++)
if( n%i==0)
s=s+i;
if(s==n)
#include<iostream.h>
2
void main()
{ int n,p,i;
cout<<"n="; cin>>n;
p=1;
for (i=2;i<=n/2;i++)
if( n%i==0)
p=0;
if((p==1)||(n==2))
else
for(i=1;i<=n;i++)
if (n%i==0)
cout<<i<<" ";
3
4. S se afieze toate numerele prime mai mici dect o
valoare citit de la tastatur.
#include<iostream.h>
void main()
{ int n,p,i,ok;
cout<<"n="; cin>>n;
if (n==2)
cout<<n;
else
{cout<<2<<" ";
for (p=3;p<=n;p++)
ok=1;
for (i=2;i<=p/2;i++)
if( p%i==0)
ok=0;
if (ok==1)
4
cout<<p<<" ";
#include<iostream.h>
int n,j,nr,x[20];
int prim(int m)
{ int ok,i;
ok=1;
for (i=2;i<=m/2;i++)
if( m%i==0)
ok=0;
return ok;
void main()
5
cout<<"n="; cin>>n;
for (j=1;j<=n;j++)
cout<<"x["<<j<<"]=";
cin>>x[j];
nr=0;
for (j=1;j<=n;j++)
if( prim(x[j])==1)
nr=nr+1;
cout<<nr;
#include<iostream.h>
void main()
{ int n,j;
6
float s,x[20];
cout<<"n="; cin>>n;
s=0;
for (j=1;j<=n;j++)
cout<<"x["<<j<<"]=";
cin>>x[j];
s=s+x[j];
cout<<endl;
for (j=1;j<=n;j++)
x[j]=(s-x[j])/(n-1);cout<<x[j]<<" ";
cout<<endl;
7
#include <iostream.h>
#include <conio.h>
int x[20],a[20],n,i,j,k;
void main()
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
cout<<"x["<<i<<"]=";
cin>>x[i];
k=0;
for(i=1;i<=n;i++)
if(x[i]!=0)
8
{
k++;
a[k]=x[i];
for(i=1;i<=k;i++)
cout<<a[i]<<" ";
getch();
#include<iostream.h>
void main()
{ int n,j,i,k,a,x[20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
{cout<<"x["<<i<<"]=";
cin>>x[i];
9
}
cout<<"a="; cin>>a;
cout<<"k="; cin>>k;
for (j=n;j>=k;j--)
x[j+1]=x[j];
n=n+1;
x[k]=a;
for (i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<endl;
#include<iostream.h>
void main()
{ int n,j,i,x[20],y[20];
cout<<"n="; cin>>n;
10
for (i=1;i<=n;i++)
{cout<<"x["<<i<<"]=";
cin>>x[i];
j=0;
for (i=1;i<=n;i++)
if(x[i]%2==0)
j=j+1;
y[j]=x[i];
for (i=1;i<=j;i++)
cout<<y[i]<<" ";
cout<<endl;
#include<iostream.h>
11
void main()
{ int n,j,i,aux,x[20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
{cout<<"x["<<i<<"]=";
cin>>x[i];
for (i=1;i<=n-1;i++)
for (j=i;j<=n;j++)
if(x[i]<x[j])
aux=x[i];
x[i]=x[j];
x[j]=aux;
for (i=1;i<=n;i++)
cout<<x[i]<<" ";
12
cout<<endl;
#include<iostream.h>
void main()
{ int n,j,i,aux,x[20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
{cout<<"x["<<i<<"]=";
cin>>x[i];
for (i=1;i<=n-1;i++)
for (j=i;j<=n;j++)
if(x[i]>x[j])
aux=x[i];
x[i]=x[j];
13
x[j]=aux;
for (i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<endl;
#include<iostream.h>
void main()
{ int n,j,i,k,x[20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
{cout<<"x["<<i<<"]=";
cin>>x[i];
cout<<"k="; cin>>k;
for (i=k;i<=n-1;i++)
14
x[i]=x[i+1];
n=n-1;
for (i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<endl;
#include<iostream.h>
void main()
{ int n,j,i,a,x[20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
{cout<<"x["<<i<<"]=";
cin>>x[i];
cout<<"a="; cin>>a;
15
j=0;
for (i=1;i<=n;i++)
if(x[i]==a)
j=1;
cout<<i<<" ";
if(j==0)
cout<<endl;
#include<iostream.h>
void main()
{ int n,i,j,max,x[20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
16
{
cout<<"x["<<i<<"]=";
cin>>x[i];
i=1;
i=i+1;
if (i>n)
else
j=i;
max=x[j];
for(i=j+1;i<=n;i++)
max=x[i];
17
}
cout<<endl;
#include<iostream.h>
int s,i;
s=0;
for(i=1;i<=nr/2;i++)
if (nr%i==0)
s=s+i;
if(s==nr)
return 1;
else
return 0;
18
void main()
{ int n,i,j,x[20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
cout<<"x["<<i<<"]=";
cin>>x[i];
j=0;
for(i=1;i<=n;i++)
if(perfect(x[i])==1)
j=1;
if(j==0)
19
cout<<" nu exista numere perfecte in vector";
cout<<endl;
#include<iostream.h>
while(a!=b)
if(a>b)
a=a-b;
else
b=b-a;
return a;
void main()
{ int n,i,c,x[20];
cout<<"n="; cin>>n;
20
for (i=1;i<=n;i++)
cout<<"x["<<i<<"]=";
cin>>x[i];
c=cmmdc(x[1],x[2]);
for(i=3;i<=n;i++)
c=cmmdc(c,x[i]);
cout<<endl;
#include<iostream.h>
void main()
{ int n,i,j,max,x[20][20];
cout<<"n="; cin>>n;
21
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
cout<<"x["<<i<<"]["<<j<<"]=";
cin>>x[i][j];
max=x[1][1];
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (x[i][j]>max)
max=x[i][j];
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if(x[i][j]==max)
cout<<"("<<i<<","<<j<<") ";
cout<<endl;
22
}
#include<iostream.h>
void main()
{ int n,i,j,min,x[20][20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
cout<<"x["<<i<<"]["<<j<<"]=";
cin>>x[i][j];
min=x[1][1];
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
23
if (x[i][j]<min)
min=x[i][j];
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if(x[i][j]==min)
cout<<"("<<i<<","<<j<<") ";
cout<<endl;
#include<iostream.h>
void main()
{ int n,i,j,nr,x[20][20];
float ma;
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
24
cout<<"x["<<i<<"]["<<j<<"]=";
cin>>x[i][j];
ma=0; nr=0;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
if (x[i][j]>0)
ma=ma+x[i][j];nr=nr+1;
ma=ma/nr;
cout<<ma;
cout.precision(2);
cout<<endl;
25
#include<iostream.h>
void main()
{ int n,i,j,aux,l1,l2,x[20][20];
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
cout<<"x["<<i<<"]["<<j<<"]=";
cin>>x[i][j];
cout<<"l1=";cin>>l1;
cout<<"l2=";cin>>l2;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
cout<<x[i][j]<<" ";
26
cout<<endl;
for (j=1;j<=n;j++)
aux=x[l1][j];
x[l1][j]=x[l2][j];
x[l2][j]=aux;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
cout<<x[i][j]<<" ";
cout<<endl;
cout<<endl;
27
21. Se d un fiier text care conine numere naturale,
cte unul pe linie. S se formeze un alt fiier text care
s conin numerele pare din fiierul iniial.
#include<iostream.h>
#include<fstream.h>
void main()
{ int nr;
ifstream f("numere1.txt");
ofstream g("numere2.txt");
while(!f.eof())
f>>nr;
if (nr%2==0)
g<<nr<<endl;
f.close(); g.close();
cout<<endl;
28
22. S se scrie un program care determina recursiv cel
mai mare divizor comun dintre dou numere naturale
date a i b.
#include<iostream.h>
int c;
if (a==b) c=a;
else
if (a>b)
c=cmmdc(a-b,b);
else
c=cmmdc(a,b-a);
return c;
void main()
int a,b;
29
cout<<"a="; cin >>a;
cout<<"b="; cin>>b;
cout<<"cmmdc="<<cmmdc(a,b);
#include<iostream.h>
int a[100],n,i,x,ok;
if (n>=1)
if (a[n]==x)
ok=1;
else
caut(a,n-1,x);
void main()
30
cout<<"n="; cin >>n;
for(i=1;i<=n;i++)
cout<<"a["<<i<<"]=";
cin>>a[i];
ok=0;
caut(a,n,x);
if(ok==1)
cout<<"exista";
else
cout<<"nu exista";
#include<iostream.h>
int st[20],x[100],n,k,as,ev,i;
31
void init()
st[k]=0;
int succesor()
if (st[k]<n)
{st[k]=st[k]+1;
return 1;
else return 0;
int valid()
if(k>1)
for (i=1;i<=k-1;i++)
if(st[k]==st[i])
32
return 0;
return 1;
int solutie()
if(k==n)
return 1;
else
return 0;
void tipar ()
for (i=1;i<=n;i++)
cout<<x[st[i]];
cout<<" ";
void permutari()
33
{
k=1;
while (k>0)
as=1;ev=0;
as=succesor();
if(as)
ev=valid();
if (as)
if(solutie())
tipar();
else
k++;
34
init();
else k--;
void main()
cout<<"n=";cin>>n;
cout<<endl;
for(i=1;i<=n;i++)
cout<<"x["<<i<<"]=";
cin>>x[i];
permutari();
cout<<endl;
35
25. S se genereze toate aranjamentele elementelor
unui ir dat cu n elemente.
#include<iostream.h>
int st[20],x[100],n,p,k,as,ev,i;
void init()
st[k]=0;
int succesor()
if (st[k]<n)
{st[k]=st[k]+1;
return 1;
else return 0;
int valid()
36
if(k>1)
for (i=1;i<=k-1;i++)
if(st[k]==st[i])
return 0;
return 1;
int solutie()
if(k==p)
return 1;
else
return 0;
void tipar ()
for (i=1;i<=p;i++)
cout<<x[st[i]];
37
cout<<" ";
void aranjamente()
k=1;
while (k>0)
as=1;ev=0;
as=succesor();
if(as)
ev=valid();
if (as)
if(solutie())
38
tipar();
else
k++;
init();
else k--;
void main()
cout<<"n=";cin>>n;
cout<<"p=";cin>>p;
cout<<endl;
for(i=1;i<=n;i++)
cout<<"x["<<i<<"]=";
39
cin>>x[i];
aranjamente();
cout<<endl;
#include<iostream.h>
int st[20],x[100],n,p,k,as,ev,i;
void init()
if(k>1)
st[k]=st[k-1];
else
st[k]=0;
int succesor()
40
{
if (st[k]<n-p+k)
{st[k]=st[k]+1;
return 1;
else return 0;
int valid()
for(i=1;i<=k-1;i++)
if (st[k]==st[i])
return 0;
return 1;
int solutie()
if(k==p)
41
return 1;
else
return 0;
void tipar ()
for (i=1;i<=p;i++)
cout<<x[st[i]];
cout<<" ";
void combinari()
k=1;
while (k>0)
as=1;ev=0;
42
{
as=succesor();
if(as)
ev=valid();
if (as)
if(solutie())
tipar();
else
k++;
init();
else k--;
void main()
43
{
cout<<"n=";cin>>n;
cout<<"p=";cin>>p;
cout<<endl;
for(i=1;i<=n;i++)
cout<<"x["<<i<<"]=";
cin>>x[i];
combinari();
cout<<endl;
#include<iostream.h>
#include<math.h>
int n,k,ev,as;
44
stiva st;
void init ()
st[k]=0;
int succesor ()
if (st[k]<n)
st[k]=st[k]+1;
return 1;
else
return 0;
int valid ()
45
for (int i=1; i<=k-1; i++)
if ((st[k]==st[i]) || abs(st[k]-st[i])==abs(k-i))
return 0;
return 1;
int solutie ()
return k==n;
void tipar ()
cout<<st[i]<<" ";
cout<<endl;
void dame()
46
k=1;
while (k>0)
as=1;ev=0;
as=succesor();
if(as)
ev=valid();
if (as)
if(solutie())
tipar();
else
k++;
init();
47
}
else k--;
void main()
cout<<"n=";cin>>n;
cout<<endl;
dame();
cout<<endl;
#include<iostream.h>
struct nod
{int info;
nod* adr_urm;
};
48
nod *p,*u,*aux;
nod *c;
if(!p)
{p=new nod;
p->info=val;
p->adr_urm=0;
u=p;}
else
{c=new nod;
u->adr_urm=c;
c->info=val;
c->adr_urm=0;
u=c;
49
void listare(nod *p)
nod *c;
c=p;
while(c)
cout<<c->info<<" ";
c=c->adr_urm;
cout<<endl;
void main()
int n,i,x;
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
50
adaugare(p,x);
cout<<"lista initiala:"<<endl;
listare(p);
aux=p;
p=p->adr_urm;
delete aux;
listare(p);
#include<iostream.h>
struct nod
{int info;
nod* adr_urm;
};
nod *p,*u,*aux,*d;
51
void adaugare(nod* &p,int val)
nod *c;
if(!p)
{p=new nod;
p->info=val;
p->adr_urm=0;
u=p;}
else
{c=new nod;
u->adr_urm=c;
c->info=val;
c->adr_urm=0;
u=c;
52
{
nod *c;
c=p;
while(c)
cout<<c->info<<" ";
c=c->adr_urm;
cout<<endl;
void main()
int n,i,x;
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
adaugare(p,x);
53
}
cout<<"lista initiala:"<<endl;
listare(p);
d=p;
while(d->adr_urm->adr_urm!=0)
d=d->adr_urm;
aux=d->adr_urm;
d->adr_urm=0;
delete aux;
listare(p);
#include<iostream.h>
struct nod
54
int nr;
};
nod * c;
if(c)
cout<<c->nr;
preordine_vsd(c->st);
preordine_vsd(c->dr);
if(c)
55
inordine_svd(c->st);
cout<<c->nr;
inordine_svd(c->dr);
if(c)
postordine_sdv(c->st);
postordine_sdv(c->dr);
cout<<c->nr;
nod * arbore()
int n;
56
nod *c;
cout<<"n="; cin>>n;
if(n)
c=new nod;
c->nr=n;
c->st=arbore();
c->dr=arbore();
return c;
else return 0;
void main()
c=arbore();
cout<<"parcurgerea in preordine:"<<endl;
preordine_vsd(c);
57
}
#include<iostream.h>
struct nod
int nr;
};
nod * c;
if(c)
cout<<c->nr;
preordine_vsd(c->st);
preordine_vsd(c->dr);
58
}
if(c)
inordine_svd(c->st);
cout<<c->nr;
inordine_svd(c->dr);
if(c)
postordine_sdv(c->st);
postordine_sdv(c->dr);
cout<<c->nr;
59
}
nod * arbore()
int n;
nod *c;
cout<<"n="; cin>>n;
if(n)
c=new nod;
c->nr=n;
c->st=arbore();
c->dr=arbore();
return c;
else return 0;
60
void main()
c=arbore();
cout<<"parcurgerea in inordine:"<<endl;
inordine_svd(c);
#include<iostream.h>
struct nod
int nr;
};
nod * c;
if(c)
61
{
cout<<c->nr;
preordine_vsd(c->st);
preordine_vsd(c->dr);
if(c)
inordine_svd(c->st);
cout<<c->nr;
inordine_svd(c->dr);
62
if(c)
postordine_sdv(c->st);
postordine_sdv(c->dr);
cout<<c->nr;
nod * arbore()
int n;
nod *c;
cout<<"n="; cin>>n;
if(n)
c=new nod;
c->nr=n;
c->st=arbore();
63
c->dr=arbore();
return c;
else return 0;
void main()
c=arbore();
cout<<"parcurgerea in postordine:"<<endl;
postordine_sdv(c);
64