Post on 04-Aug-2015
1. De alcătuit un program ce calculează valoarea lui a
şi b.
Rezolvare:
#include<math.h>#include<conio.h>#include<stdio.h>main(){float x,y,a,b,z,pi=3.14;printf("introduceti x,y,z:\n");scanf("%f%f%f",&x,&y,&z);a=2*cos(x-pi/6)/(1/2+pow(sin(y),2));b=(1+pow(z,2))/(3+pow(z,2)/5);printf("a=%f,b=%f",a,b);getch();}
2. Scrieţi programul ce afişează:
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 M o r a r i A l i n a M a m a1 . 2 5 1 6 . 9 1 8 4 M o l d o v a1 3 . 3 G a r a d e s u d
Rezolvare: #include<math.h>#include<conio.h>#include<stdio.h>main(){ clrscr; printf("12345678901234567890\n"); printf("%15s\n","Morari Alina"); printf("%6s\n","Mama");
printf("%20s\n","Solidaritate"); printf("%4.1f%8.1f%6d\n",12.5,16.9,184); printf("%12s\n","Moldova"); printf("%4.1f%17s\n",13.3,"Gara de Sud"); }
3. Alcătuiţi programul ce calculează sistemul de
ecuaţii: .
Rezolvare:
#include<math.h>#include<conio.h>#include<stdio.h>main() { float a,b,t,y; clrscr(); printf("introduceti variabilele"); scanf("%f %f %f",&a,&b,&t); if(t>=1&&t<=2) y=a*pow(t,2)+log(t); else if(t<1) y=1; else y=exp(a*t)*cos(b*t); printf("y=%f",y); }
4. Se consideră 3 numere întregi. Să se alcătuiască un program care să determine numărul maximal.
Rezolvare:
#include<conio.h>#include<stdio.h>main() { int a,b,c,max; clrscr(); printf("intr. variabilele");
scanf("%i%i%i",&a,&b,&c); if (b<a>c) max=a;
else if(b>a) max=b; else if(a<c) max=c;
printf("max=%i",max); }
5. Să se afişeze programul ce calculează numărul z care este egal cu: z=max(a+d;c+f;4d+b)+min(a,c,f).
Rezolvare:
#include <stdio.h>#include <conio.h>
void main() { float a,b,c,d,f,min,max; clrscr(); printf("introduceti variabilele a,b,c,d,f:\n"); scanf("%f%f%f%f%f",&a,&b,&c,&d,&f); max=a+d; if (c+f>max) max=c+f; if (4*d+b>max) max=4*d+b; min=a; if (c<min) min=c; if (f<min) min=f; printf("z=max(a+d,c+f,4*d+b)+min(a,c,f)=%.1f",a+d,c+f,4*d+b,max+min); getch(); }
6. De alcătuit un program ce determină:1) max(a,b);2) min(c+d;e);
Rezolvare:
#include<math.h>#include<conio.h>#include<stdio.h>main()
{ int y,a,b,s,c,d,e,max,min; clrscr(); printf("alege:\n"); printf("1.max(a,b)\n"); printf("2.min(c+d,e)\n"); scanf("%i",&y); switch (y) {case 1: printf(" variabile a,b\n"); scanf("%i%i",&a,&b); if(a>b) max=a; else max=b; printf("max=%i",max); break; case 2: printf("variabile c,d,e\n"); scanf("%i%i%i",&c,&d,&e); if((c+d)<e) min=c+d; else min=e; printf("min=%i",min); break; default: printf("nedeterminare\n"); }}
7. Alcătuiţi programul ce calculează valoarea funcţiei
, folosind ciclul:
Rezolvare:
#include<math.h>#include<conio.h>#include<stdio.h>main() { float a,b,t,y; clrscr(); printf("variabilele a,b:\n"); scanf("%f %f",&a,&b); for(t=0;t<=3;t=t+0.15)
{ if (t>=1&&t<=2) y=a*pow(t,2)*log(t); else if (t<1) y=1; else y=exp(a*t)*cos(b*t); printf("y=%f",y); break; } getch(); }
8. Să se alcătuiască un program ce calculează suma si
produsul: .
Rezolvare:#include<math.h># include<stdio.h># include<conio.h>main(){float b,s,p,c;int i,j,n,z;clrscr();printf("meniu\n");printf("1.calculează produsul\n");printf("2.calculează suma\n");printf("3. esire\n");printf("alege optiunea:\n");scanf("%d",&z);clrscr();switch(z){case 1:clrscr();printf("introdu numarul b:\n");scanf("%f",&b);p=1;for(j=3;j<=7;j++) p=p*(j+3*b);printf("p=%f",p); getch();break;case 2:clrscr();
printf("introdu numarul c,n:\n");scanf("%f%i",&c,&n);s=0;for(i=1;i<=n;i++); s=s+(3*c+i);printf("s=%f",s); getch(); break;case 3:clrscr();printf("program terminat!"); getch();break; }}
9. Se dă un tablou unidimensional. Calculează suma elementelor pozitive.
Rezolvare:
#include<math.h>#include<stdio.h>#include<conio.h> main() { clrscr(); float suma; int A[100],n,i; printf("Introduceti numarul de elemente ale tabloului A: \n"); scanf("%d",&n); for (i=0;i<=n-1;i++) { printf("A[%d]=",i); scanf("%d",&A[i]); } printf("Elementele tabloului sunt:\n"); for (i=0;i<=n-1;i++) { printf("A[%d]=%d \n",i,A[i]); if (A[i]>0) { suma=suma+A[i]; }} printf("suma elementelor pozitive este: %f\n",suma); getch();
}
10. Să se scrie un program ce afişează o matrice a cărei elemente se calculează după formula A[i][j]=(n-i)(m-j).
Rezolvare:
#include<math.h>#include<conio.h>#include<stdio.h>
void main() { clrscr(); int i,j,m=4,n=4; float a[4][4]; printf("matricea este:"); for (i=0;i<n;i++) for (j=0;j<n;j++) a[i][j]=(n-i)*(m-j); for (i=0;i<m;i++) { printf("\n"); for (j=0;j<n;j++) printf(" %2f",a[i][j]); } getch(); }
11. Sa se scrie un program in limbajul C pentru rezolvarea ecuaţiei de gradul doi.
#include <stdio.h>#include <conio.h> #include <math.h>float a,b,c,d,x1,x2,x;void main(){clrscr();printf(" dati a="); scanf("%f",&a);printf(" \n dati b="); scanf("%f",&b);
printf(" \n dati c="); scanf("%f",&c);if (a!=0){
d=b*b-(4*a*c);if (d==0)
{x=(-b/(2*a));printf("\n solutia unica este %2.1f =",x);}
if (d>0){x1=(-b+sqrt(d));x2=(-b-sqrt(d));printf("\n Cele 2 solutii sunt %2.1f %2.1f
",x1,x2);}
if (d<0) printf("\n ecuatia nu are solutii reale");}else{
if (b==0){if (c==0) printf("\n ecuatia este nedeterminata");
else printf("\n ecuatia este imposibila");}
else{x=(-c/b);printf("\n solutia ecuatiei este %2.1f",x);}
}getch();}
12. Sa se scrie un program care sa calculeze media aritmetica, geometrica si armonica a trei numere reale a,b,c citite de la tastatura.
#include <stdio.h>#include <conio.h>#include <math.h>float a,b,c;
void main(){clrscr();printf("\n dati a "); scanf("\n %f",&a);printf("\n dati b "); scanf("\n %f",&b);printf("\n dati c "); scanf("\n %f",&c);printf("\n media aritmetica= %f",(a+b+c)/3);printf("\n media geometrica= %f",pow(a*b*c,1/3));printf("\n media armonica= %2.1f",3/(1/a+1/b+1/c));getch();}
13. Sa scrie un program care verifica daca trei numere naturale coincid cu valorile 1,2,3.
#include <stdio.h>;#include <conio.h>;int a,b,c;void main(){clrscr();printf("\n dati a "); scanf("\n %d",&a);printf("\n dati b "); scanf("\n %d",&b);printf("\n dati c "); scanf("\n %d",&c);if ((a+b+c==6) && (a*b*c==6))
{printf("nr coinid cu 1,2,3"); }else { printf("nr nu coincid cu 1,2,3"); }getch();}
14. Sa se scrie un program in limbajul C care sa afişeze minimul respective maximul a trei numere folosind inter schimbări.
#include <stdio.h>#include <conio.h>int a,b,c,aux;void main(){printf("dati a"); scanf("%d",&a);printf("dati b"); scanf("%d",&b);printf("dati c"); scanf("%d",&c);
if (a>b){aux=a;a=b;b=aux;}
if (a>c){aux=a;a=c;c=aux;}
else {if (b>c)
{aux=b;b=c;c=aux;}
}printf("minimul este %d",a);printf("maximul este %d",c);getch();}
15. Sa se scrie un program pentr calcularea produsului a doua matrici A cu m linii si n coloane si B cu n linii si p coloane.
#include <stdio.h>;#include <conio.h>;int a[10][10],b[10][10],c[10][10],i,j,k,m,n,p;void main(){clrscr();printf("\n dati m "); scanf("%d",&m);printf("\n dati n"); scanf("%d",&n);printf("\n dati p"); scanf("%d",&p);for (i=1;i<=m;i++) for (j=1;j<=n;j++) { printf("\n dati a[%d][%d]= ",i,j); scanf("%d",&a[i][j]);
}for (j=1;j<=n;j++) for (k=1;k<=p;k++) { printf("\n dati b[%d][%d]= ",j,k); scanf("%d",&b[j][k]); }for (i=1;i<=m;i++) for (j=1;j<=p;j++) for (k=1;k<=n;k++) { c[i][j]=c[i][j]+a[i][k]*b[k][j]; }for (i=1;i<=n;i++) { for (j=1;j<=p;j++) printf("%4d",c[i][j]); printf("\n"); }getch();}
16. La un concurs de patinaj artistic se cunosc cele n note obţinute e un concurent. Sa se calculeze punctajul lui, ştiind ca la determinarea medie nu se ia in calcul nota cea mai mare si cea mai mica.
#include <stdio.h> #include <conio.h> int a[10],n,i,min,max,pmin,pmax,s;float m;void main(){clrscr();printf("dati nr de note ");scanf("%d",&n);for (i=0;i<n;i++)
{printf("dati nota %d ",i+1);scanf("%d",&a[i]);
}max=a[0];min=a[0];
for (i=0;i<n;i++){
if (a[i]>max) max=a[i];if (a[i]<min) min=a[i];
}for (i=0;i<n;i++)
{if (a[i]==min) pmin=a[i];if (a[i]==max) pmax=a[i];
}s=0;for (i=0;i<n;i++)
{if ((pmin==i) || (pmax==i)) i++;else s+=a[i];
}m=float(s)/float(n-2);printf("media notelor=%2.1f ",m);getch();}
17. Sa se calculeze produsul numerelor perfecte dintr-un vector cu m elemente întregi.
#include <stdio.h>; #include <conio.h>; int v[10],i,m,p,j,s,nr;void main(){clrscr();printf("dati dimensiunea vectorului"); scanf("%d",&m);for (i=1;i<=m;i++)
{printf("\n dati v[%d]=",i);scanf("\n %d",&v[i]);
}p=1;nr=0;for (i=1;i<=m;i++)
{s=1;for (j=2;j<=v[i]/2;j++)
{if (v[i]%j==0)
{ s=s+j;}
if (s==v[i]){ p=p*v[i]; nr++;}
}}
if (nr) printf("\n produsul elem perfecte= %d",p);else printf("\n nu exita elemente perfecte ");
getch();}18. Sa se determine daca doi vectori sunt proporţionali.#include <stdio.h> #include <conio.h>int a[10],b[10],i,n,m;void main(){clrscr();printf("dati dimensiunea vectorului "); scanf("%d",&n);for (i=1;i<=n;i++)
{printf("dati a[%d]=",i);scanf("%d",&a[i]);
}for (i=1;i<=n;i++)
{printf("dati b[%d]=",i);scanf("%d",&b[i]);
}m=0;for (i=1;i<=n;i++)
{if (a[i]*b[i-1]==a[i-1]*b[i]){ m++; }
}if (m==n)
printf("\n cei doi vectori sunt proportionali");else
printf("\n cei doi vectori nu sunt proportionali");getch();}
19. Sa se calculeze suma elementelor unui vector de pe poziţiile impare.
#include <stdio.h>;#include <conio.h>;int v[20],i,n,s;void main(){clrscr();printf("dati dimensiunea vectorului: \n");scanf("%d",&n);for (i=1;i<=n;i++)
{printf("dati v[%d]= \n",i);scanf("%d",&v[i]);
}s=v[1];for (i=3;i<=n;i=i+2)
{s=s+v[i];
}printf("suma de pe pozitiile impare : %d",s);getch();}
20. Pentru cei n studenţi ai anului I se cunosc notele de la primul examen. Se cere sa se determine numărul studenţilor cu nota 10,9,8 si sa afişeze studenţii nepromovaţi.
#include <conio.h>#include <stdio.h>int a[27],n,i,n8,n9,n10;void main(){
clrscr();printf(" dati nr de studenti ");scanf("%d",&n);for (i=0;i<n;i++)
{printf("\n dati nota studentului %d ",i+1);scanf("%d",&a[i]);
}for (i=0;i<n;i++)
{if (a[i]==10) n10++;if (a[i]==9) n9++;if (a[i]==8) n8++;if (a[i]<5)
printf("\n studentul %d este nepromovat",i+1);
}printf("\n numarul de studenti cu nota 10 =%d",n10);printf("\n numarul de studenti cu nota 9 =%d",n9);printf("\n numarul de studenti cu nota 8 =%d",n8);getch();}
21.Se da o matrice cu m linii si n coloane , sa se afiseze suma de pe fiecare linie in parte.
#include <stdio.h>;#include <conio.h>;int a[10][10],i,j,n,m,s;void main(){clrscr();printf("dati nr de linii "); scanf("%d",&m);printf("dati nr de coloane ");scanf("%d",&n);for (i=1;i<=m;i++) for (j=1;j<=n;j++) {
printf("a[%d][%d]=",i,j); scanf("%d",&a[i][j]);
}for (i=1;i<=m;i++) {
s=0;for (j=1;j<=n;j++) s=s+a[i][j];printf("\n suma pe linia %d este %d",i,s);
}getch();}
22. Se da o matrice patratica sa se calculeze suma elementelor de deasupra diagonalei principale.
#include <stdio.h>; #include <conio.h>;int a[10][10],i,j,m,n,s;void main(){clrscr();printf("dati nr de linii ");scanf("%d",&n);for (i=1;i<=n;i++) for (j=1;j<=n;j++) {
printf("dati a[%d][%d]=",i,j); scanf("%d", &a[i][j]);
}s=0;for (i=1;i<=n-1;i++) for (j=i+1;j<=n;j++) s=s+a[i][j];printf("\n suma elementelor de deasupra diagonalei principale= %d",s);getch();}
23. Sa se determine elementul maxim din triunghiul de deasupra diagonalelor unei matrice patrate (exclusiv diagonalele).
#include <stdio.h> #include <conio.h >int a[10][10],i,j,m,max;void main(){
clrscr();printf("dati m"); scanf("%d",&m);for (i=0;i<m;i++) for (j=0;j<m;j++) { printf("\n dati a[%d][%d]=",i,j); scanf("%d",&a[i][j]); }max=a[0][1];for (i=0;i<(m-1)/2;i++) for (j=i+1;j<m-1-i;j++)
if (a[i][j]>max) max=a[i][j]; printf("maximul este= %d",max);
getch();}
24. Sa se determine elementul minim din triunghiul de sub diagonalele unei matrice pătrate (exclusiv diagonalele).
#include <stdio.h> #include <conio.h> int a[10][10],i,j,m,min;void main(){clrscr();printf("dati m"); scanf("%d",&m);for (i=0;i<m;i++) for (j=0;j<m;j++) { printf("\n dati a[%d][%d]=",i,j); scanf("%d",&a[i][j]); } min=a[m-1][1];for (i=m/2+1;i<m;i++) for (j=m-i-1;j<i;j++) if (a[i][j]<min) min=a[i][j]; printf("minimul este %d ",min); getch(); }
25. Pentru fiecare linie a unei matrice A de mxn sa se scada din elementele sale valoarea minima de pe acea linie.
#include <stdio.h> #include <conio.h> int a[10][10],i,j,m,n,min;void main(){clrscr();printf(" dati nr de linii ");scanf("%d",&m);printf("\n dati nr de coloane ");scanf("%d",&n);for (i=0;i<m;i++) for (j=0;j<n;j++) { printf("\n dati a[%d][%d]= ",i,j); scanf("%d",&a[i][j]); }for (i=0;i<m;i++){
min=a[i][0];for (j=1;j<n;j++)
if (min>a[i][j]) min=a[i][j];for (j=0;j<n;j++) a[i][j]=a[i][j]-min;
}for (i=0;i<m;i++) { for (j=0;j<n;j++) printf("%4d",a[i][j]); printf("\n");}getch();}
26. Fie un masiv tridimensional, sa se calculeze suma elementelor fiecărui plan al masivului.
#include <stdio.h> #include <conio.h> int a[10][10][10],i,j,l,m,n,k,s,v[10],max; //maximul sumei//
void main(){clrscr();printf("\n dati m "); scanf("%d",&m);printf("\n dati n "); scanf("%d",&n);printf("\n dati k "); scanf("%d",&k);for (i=0;i<m;i++) for (j=0;j<n;j++) for (l=0;l<k;l++) { printf("\n dati a[%d][%d][%d]= ",i,j,l); scanf("%d",&a[i][j][l]); }for (i=0;i<m;i++) { s=0; for (j=0;j<n;j++) for (l=0;l<k;l++) s+=a[i][j][l]; printf("\n suma de pe planul %d este %d",i+1,s); v[i]=s; }max=v[0];for (i=1;i<m;i++) if (max<v[i]) max=v[i];printf("\n maximul sumelor este %d",max);getch();}
27. Se considera o matrice pătrata A de nxn sa se sorteze crescător elementele de pe diagonala principala.
#include <stdio.h> #include <conio.h> int a[10][10],i,j,n,aux;void main(){clrscr();printf("dati n="); scanf("%d",&n);for (i=0;i<n;i++) for (j=0;j<n;j++) {
printf("\n dati a[%d][%d]= ",i,j);
scanf("%d",&a[i][j]); }for (i=0;i<n-1;i++) for (j=i+1;j<n;j++)
if (a[i][i]>a[j][j]){
aux=a[i][i];a[i][i]=a[j][j];a[j][j]=aux;
}for (i=0;i<n;i++) { for (j=0;j<n;j++) printf("%4d",a[i][j]); printf("\n");}getch();}
28. Fie o matrice A de mxn , care reprezintă notele obţinute de m studenţi la n discipline. Sa se determine:a) studenţii integralisti(care au toate notele >=5);b) studenţii bursieri (integralistii cu media >=8.5)c) disciplinele la care s-au înregistrat cei mai mulţi restanţieri.
#include <stdio.h> #include <conio.h> int a[10][10],i,j,m,n,k,s;float med; void main(){clrscr();printf(" dati nr nr de materii= "); scanf("%d",&n);printf("\n dati nr de studentii= "); scanf("%d",&m);for (i=0;i<m;i++) for (j=0;j<n;j++) {
printf("\n dati a[%d][%d]=",i,j); scanf("%d",&a[i][j]);
}for (i=0;i<m;i++)
{k=0;s=0;for (j=0;j<n;j++)
if (a[i][j]>=5){
k++;s+=a[i][j];if (k==n)
printf("\n studentul %d este integralist",i+1);
med=float(s)/float(n);if (med>=8.5) printf("\n studentul %d
este bursier",i+1);}
}int v[10],max;for (j=0;j<n;j++){
k=0;for (i=0;i<m;i++)
if (a[i][j]<5) k++;v[j]=k;
}max=v[0];for (j=0;j<n;j++)
if (v[j]>max) max=v[j];if (!max) printf("\n nu avem studenti picati");else {
for (j=0;j<n;j++)if (v[j]==max)
printf("\n disciplina %d are cei mai multi picati ",j+1);
}getch();}
29. Sa se realizeze programul care efectuează înmulţirea dintre un vector si o matrice
#include <stdio.h> #include <conio.h>
int a[10][10],v[10],b[10],i,j,m,n,k;void main(){clrscr();printf("dati nr de elemente ale vect");scanf("%d",&m);printf("dati nr de coloane");scanf("%d",&n);printf("\n elementele vectorului ");for (i=0;i<m;i++){
printf("\n dati v[%d]= ",i);scanf("%d",&v[i]);
}printf("\n elementele matriciei");for (i=0;i<m;i++) for (j=0;j<n;j++) {
printf("\n dati a[%d][%d]= ",i,j); scanf("%d",&a[i][j]);
}for (j=0;j<n;j++) {
b[j]=0; for (i=0;i<m;i++) b[j]=b[j]+a[i][j]*v[i];
}for (j=0;j<n;j++) printf("%4d",b[j]);getch();}
30. Se considera o matrice A cu mxn , sa se afişeze coloanele care se afla in progresie aritmetica.
#include <stdio.h> #include <conio.h> int a[10][10],i,j,ok,m,n,r;void main(){clrscr();printf(" dati m ");scanf("%d",&m);
printf("\n dati n ");scanf("%d",&n);for (i=0;i<m;i++) for (j=0;j<n;j++) {
printf("\n dati a[%d][%d]=",i,j); scanf("%d",&a[i][j]);
}ok=0;for (j=0;j<n;j++){
r=a[1][j]-a[0][j];for (i=1;i<m && a[i][j]-a[i-1][j]==r;i++);if (i==m)
{printf("\n coloana %d este in progresie",j+1);ok=1;}
}if (!ok) printf("\n nu avem coloane in progresie aritmetica");getch();}
31. Sa se afişeze mesajul in dependenţa de literă introdusă#include <stdio.h> #include <conio.h> char litera;printf("\nTastati o litera intre a si c");scanf("%c",&litera);switch (litera){case ’a’: case ’A’: printf("litera a sau A");break; case ’b’: case ’B’: printf("litera b sau B");break; case ’c’: case ’C’: printf("litera c sau C");break;default: printf("alta litera");}
32. Citirea elementelor unui vector#include <stdio.h>
void main(){ float v[20];int n,i;printf("\n Nr. de elemente:");scanf("%i",&n);for(i=0;i<n; printf("\n v[%i]=",i+1), scanf("%f", &v[i] ), i++);}
33. Sortarea elementelor unui vector#include <stdio.h>void main(){ float aux,v[20];int n,i;unsigned vb;printf("\n Nr. de elemente:"); scanf("%i",&n);for(i=0;i<n; printf("\n v[%i]=", i+1), scanf("%f", &v[i]), i++);do{vb=0;
for(i=0;i<n-1;i++) if(v[i]>v[i+1])
{aux=v[i];v[i]=v[i+1];v[i+1]=aux;vb=1;}
}while(vb==1);printf("\nVectorul sortat crescator:");for(i=0;i<n;printf("%6.2f",v[i]),i++);getch();}