Documente Academic
Documente Profesional
Documente Cultură
1. S se realizeze un program pentru rezolvarea ecuaiei de gradul II: ax2+bx+c=0, a,b,cR, a0.
#include<iostream.h>
int main()
{ float a,b,c,d;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
d=b*b-4*a*c;
if(d<0) cout<<"nu avem solutii reale";
else if(d>0)
{ cout<<"x1="<<(-b+sqrt(d))/(2*a);
cout<<endl;
cout<<"x2="<<(-b-sqrt(d))/(2*a);
cout<<endl;
}
else cout<<"x1=x2="<<-b/(2*a);
}
2. Se d un numr natural cu cel mult 9 cifre. S se afle numrul de cifre pare din el.
#include<iostream.h>
int main()
{ long n;
int p=0,c;
cout<<"n="; cin>>n;
while(n>0)
{c=n%10;
if(c%2==0) p++;
n=n/10;
}
cout<<"p="<<p;
}
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
x=cmmdc(a,b); y=a*b/x;
x=cmmdc(x,c); y=y*c/x;
cout<<"cmmdc= "<<x;
cout<<"cmmmc= "<<y;
}
inv=inv*10+c;
n=n/10;
}
cout<<inv;
}
{ cout<<(float)(a+b+c)/3<<endl<<endl;
break; }
case 2:
{ if(a>b) max=a;
else max=b;
if(c>max) max=c;
cout<<max<<endl<<endl; break;
}
case 3:
{ if(a<b) min=a;
else min=b;
if(c<min) min=c;
cout<<min<<endl<<endl; break;
}
} }}
cin>>opt;
switch(opt)
{ case 1:
{cout<<"l1= "; cin>>l1;
cout<<"l2= "; cin>>l2;
cout<<"l3= "; cin>>l3;
p=l1+l2+l3;
sp=(float)p/2;
a=sqrt(sp*(sp-l1)*(sp-l2)*(sp-l3));
cout<<"perim este: "<<p<<" |";
cout<<"aria este:<<a<<endl;
break; }
case 2:
{cout<<"l1= "; cin>>l1;
cout<<"l2= "; cin>>l2;
p=2*(l1+l2);
a=l1*l2;
cout<<"perim este: "<<p<<" ";
cout<<"aria este:<<a<<endl;
break; }
case 3:
{cout<<"raza= "; cin>>r;
cout<<"lungimea cercului=;
cout<<2*pi*r<<" ";
cout<<"aria cercului= ";
cout<<pi*pow(r,2)<<endl;
break; }
default:
cout<<"ati introdus o valoare
gresita";
}
} while(opt<4);
}
{int s=0, n, i;
cout<<"n="; cin>>n;
for(i=1;i<=n;i++)
if(i%2==1)
s=s+factorial(i)*factorial(i);
else s=s-factorial(i)*factorial(i);
cout<<"suma este:"<<s;
}
x2
1 +2
x3
+ 1 + 2 + 3 +.+
xn
, pentru x numr real, iar n numr
1 + 2 + ... + n
natural dat.
#include<iostream.h>
int main()
{int i, n;
float x, s=0,k=0,p=1;
cout<<"n= "; cin>>n;
cout<<"x="; cin>>x;
for(i=1;i<=n;i++)
{ p=p*x;
k=k+i;
s=s+p/k;
}
cout<<"suma este: "<<s;
}
{ x=n%10;
ok=0;
for(i=1;i<=k;i++)
if(x==a[i]) ok=1;
if(ok==0) { k++;
a[k]=x; }
for(i=1;i<=k;i++)
cout<<a[i]<<" ";
}
n=n/10;
}
for(i=1;i<n;i++)
if(a[i]<a[i+1])
{aux=a[i]; a[i]=a[i+1];
a[i+1]=aux;
ok=0;}
}
cout<<"vectorul ordonat este:";
for(i=1;i<=n;i++)
cout<<a[i]<<" ";
}
for (i=1;i<=n;i++)
if(a[i]==x) {ok=1;
p=i;}
if(ok==1) cout<<"elementul se afla in
vector pe pozitia "<<p;
else cout<<x<<" nu se gaseste in
vector";
}
max=a[1];
for(i=1;i<=n;i++)
{ if(max<a[i]) max=a[i];
if(min>a[i]) min=a[i]; }
cout<<"min="<<min;
cout<<"max="<<max;
}
{ cout<<"a["<<i<<"]=";
cin>>a[i];}
for(i=1;i<=n;i++)
if(a[i]>a[i+1]) ok=0;
if(ok==1) cout<<"sunt ordonate";
else
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
for(i=a;i<=b;i++)
if (prim(i))
{cout<<i<<" ";
nr++;}
cout<<endl<<"nr="<<nr;
}
16. Se dau dou iruri cu m, respectiv n elemente (m,n numere naturale date). S se
afieze reuniunea elementelor celor dou iruri.
#include<iostream.h>
void citire(int x[20],int &n)
{ int i;
cout<<"numarul de elemente";cin>>n;
for(i=1;i<=n;i++)
{ cout<<"element["<<i<<"]=";
cin>>x[i];}
}
void afisare(int x[20],int n)
{ int i;
for(i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<endl;
}
int main()
{ int a[20],b[20],c[20],m,n,k,x,i,j;
citire(a,m);
cout<<endl;
citire(b,n);
afisare(a,m);
afisare(b,n);
for(i=1;i<=m;i++) c[i]=a[i];
k=m;
for(i=1;i<=n;i++)
{ x=0;
for(j=1;j<=k;j++)
if(b[i]==c[j]) x=1;
if(x==0) {k=k+1;
c[k]=b[i];}
}
afisare(c,k);
}
17. Se dau dou iruri cu m, respectiv n elemente (m,n numere naturale date). S se
afieze intersecia elementelor celor dou iruri.
#include<iostream.h>
#include<conio.h>
int main()
{ int m,n,i,j,k=0,a[50],b[50],c[50],ok;
cout<<"m=";cin>>m;
cout<<"n=";cin>>n;
for(i=1;i<=m;i++)
{cout<<"a["<<i<<"]=";
cin>>a[i]; }
for(j=1;j<=n;j++)
{cout<<"b["<<j<<"]=";
cin>>b[j]; }
for(j=1;j<=n;j++)
{ ok=0;
for(i=1;i<=m;i++)
if(a[i]==b[j]) ok=1;
if(ok) {k++;
c[k]=b[j];}
}
for(i=1;i<=k;i++)
cout<<c[i]<<" ";
}
while(ok==0)
{ok=1;
for(i=1;i<=n-1;i++)
if(strcmp(a[i].nume,a[i+1].nume)>0)
{ aux=a[i]; a[i]=a[i+1]; a[i+1]=aux;
ok=0;}
}
for(i=1;i<=n;i++)
cout<<a[i].nume<<"
<<a[i].prenume<<"
"<<a[i].media<<endl;
for(i=1;i<=n;i++)
s=s+a[i].media;
cout<<"media="<<(float)s/n;
}
#include<iostream.h>
struct elev
{char nume[20],prenume[20];
float media; };
elev a[30],aux;
int n,i,ok;
float s;
int main()
{ cout<<"n=";cin>>n;
for(i=1;i<=n;i++)
{ cout<<"nume:";cin>>a[i].nume;
cout<<"prenume:";cin>>a[i].prenume;
cout<<"media:";cin>>a[i].media;}
ok=0;
19. Se citete de la tastatur o fraz format din maxim 100 de caractere, folosindu-se
ca i separatori spaiul sau virgula. Se cere s se afieze cuvintele frazei n ordine
alfabetic, fiecare cuvnt pe cte un rnd.
ok=0;
while(ok==0)
{ok=1;
for(i=1;i<=k-1;i++)
if(strcmp(a[i], a[i+1])>0)
{strcpy(aux, a[i]);
strcpy(a[i], a[i+1]);
strcpy(a[i+1], aux);
ok=0; }
}
for(i=1;i<=k;i++)
cout<<a[i]<<endl;
}
#include<iostream.h>
int main()
{char s[100], a[20][15], *p, sep[]=" ,",
aux[100];
int k, i, ok;
cout<<"introduceti sirul: ";
cin.get(s, 100);
k=0;
p=strtok(s, sep);
while(p)
{ k++;
strcpy (a[k], p);
p=strtok(NULL, sep); }
#include<iostream.h>
int n,k;
int factorial(int n)
{int i, p=1;
for(i=1;i<=n;i++)
p=p*i;
k++;
if(s[i]=='a') { d[k]=d[k+1]='a';
k=k+2;
}
}
d[k]=0;
cout<<d;}
#include<iostream.h>
struct produs
{char denumire[20];
int cantitate;
float pret; };
produs a[20];
int n, i;
int main()
{cout<<"n="; cin>>n;
for(i=1;i<=n;i++)
{cout<<"denumire:";cin>>a[i].denumire;
cout<<"cantitate:"; cin>>a[i].cantitate;
23. Se citesc dou numere complexe date prin parte real i parte imaginar. S se
afieze suma, produsul i raportul celor dou numere.
cout<<"suma:"<<(x1+x2)<<"+"<<(y1+y2
)<<"i"<<endl;
cout<<"produsul:"<<(x1*x2y1*y2)<<"+"<<x1*y2+y1*x2<<"i"<<endl;
cout<<"raport:"<<(x1*x2+y1*y2)/
(x2*x2+y2*y2)<<"+"<<(y1*x2-x1*y2)/
(x2*x2+y2*y2)<<"i"<<endl;
}
#include<iostream.h>
int main()
{int c1,c2,x1,y1,x2,y2;
cout<<"Re(1)="; cin>>x1;
cout<<"Re(2)="; cin>>x2;
cout<<"Img(1)="; cin>>y1;
cout<<"img(2)="; cin>>y2;
#include<iostream.h>
main()
{int a,b, i, p=0;
cout<<"a="; cin>>a;
while(a>=b) {a=a-b;
s++; }
cout<<"catul este:"<<s<<endl;
cout<<"restul este:"<<a;
}
26. Se dau dou iruri. S se verifice dac sunt egale, fr a face deosebire ntre literele
mici i mari.
cout<<"sirul2:"; cin.get(s2,100);
if(stricmp (s1,s2)==0) cout<<"sirurile
sunt egale";
else cout<<"sirurile nu sunt
egale";
}
#include<iostream.h>
int main()
{char s1[100], s2[100];
cout<<"sirul1:"; cin.get(s1,100);
cin.get();
{if(s[i]!=s[j]) ok=0;
i++;
j--; }
if(ok==1) cout<<"are proprietati
palindrom";
else cout<<"nu are propriet";
}
de
for(i=1;i<=strlen(s); i++)
{ for(j=0; j<=i-1; j++)
cout<<s[j];
cout<<endl; }
}
#include<iostream.h>
int main()
{int a[100], x, i, n=1, ok;
cout<<"x="; cin>>x; a[1]=x;
while(x!=0)
{ok=0;
for(i=1;i<=n;i++)
30. Se citete un text format din maxim 50 de caractere, format din litere mari. S se
afieze literele distincte din textul citit.
{cin.get(s,51);
#include<iostream.h>
for(c='A';c<='Z';c++)
char s[51],c;
if(strchr(s,c))
int i,v[28];
cout<<c<<" ";
int main()
}
31. S se determine cifrele comune a dou numere naturale date.
a=a/10;
v[c]++;}
while(b!=0)
{d=b%10;
b=b/10;
x[d]++; }
for(i=0;i<=9;i++)
if(y[i]!=0&&x[i]!=0) cout<<i<<" ";
}
#include<iostream.h>
int main()
{int i, a, b, c,d, x[10], y[10];
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
for(i=0;i<=9;i++) {y[i]=0;x[i]=0;}
while (a!=0) {c=a%10;
32. Se consider o matrice neptratic (n*m) care conine elemente de tip real. Afiai
matricea i maximul elementelor din matrice.
for(i=1; i<=n; i++)
{ for(j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<endl; }
max=a[1][1];
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(a[i][j]>max) max=a[i][j];
cout<<"max="<<max;
}
#include<iostream.h>
int main()
{int m, n, i, j, max;
float a[20][20];
cout<<"m="; cin>>m;
cout<<"n="; cin>>n;
for(i=1; i<=n; i++)
for(j=1; j<=m;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j]; }
if(a[i][j]>0&&a[i][j]<1) b[i][j]=a[i][j];
else b[i][j]=0;
cout<<"matricea initiala:"<<endl;
for(i=1; i<=n; i++)
{ for(j=1; j<=m; j++)
cout<<a[i][j]<<" ";
cout<<endl; }
cout<<"matricea finala:"<<endl;
for(i=1; i<=n; i++)
{ for(j=1; j<=m; j++)
cout<<b[i][j]<<" ";
cout<<endl; }
}
#include<iostream.h>
int main()
{int a[20][20],n,i,j;
cout<<"n="; cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j]; }
cout<<"Matricea initiala:"<<endl;
for(i=1;i<=n;i++)
#include<iostream.h>
int main()
{int a[20][20], n ,i , j, k=0;
cin>>a[i][j]; }
for(i=1; i<=n; i++)
{ for(j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<endl; }
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j]; }
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(a[i][j]%2==0) s=s+a[i][j];
cout<<"s="<<s;
}
{ cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j]; }
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
if(a[i][j]%2!=0) k++;
cout<<"k="<<k;
}
max=a[1][1];
for(i=1; i<=n; i++)
{ if (a[i][1]>max) max=a[i][1];
if (a[i][m]>max) max=a[i][m]; }
for(j=1; j<=m; j++)
{ if (a[1][j]>max) max=a[1][j];
if (a[n][j]>max) max=a[n][j]; }
cout<<"max="<<max;
}
ok=1;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
if(i<j && a[i][j]!=0) ok=0;
if(ok==1) cout<<" matricea e triunghiular
superioara";
else cout<<" matricea nu e triunghiular
superioara";
}
10
#include<iostream.h>
int main()
{int a[20][20], n, m, i, j, s=0;
cout<<"n="; cin>>n;
cout<<"m="; cin>>m;
for(i=1; i<=n; i++)
for(j=1; j<=m;j++)
11