Sunteți pe pagina 1din 6

Curs 13+ 14.

Probleme rezolvate 3x 2  4 x  7 x 1



Exemplu nr. 3: Calculul valorii lui y  4 x  3  10  x  1
Exemplu nr. 1: Calculul valorii lui y  2 x3  8x 2  4 x  5 pentru un x dat.
 x 3  8 x 2  4 x  5 x  10
#include<stdio.h> 
#include<conio.h> pentru un x dat.
void main(void)
{ float x, y; clrscr(); #include<stdio.h>
puts("\n Introduceti o valoare pentru x:"); scanf("%f",&x); #include<conio.h>
y = 2*x*x*x-8*x*x+4*x-5; void main(void)
printf("\n x = %7.3f \t y = %7.3f",x,y); { float x, y; clrscr();
getch(); puts("\n Introduceti o valoare pentru x:"); scanf("%f",&x);
} if(x>=1)
y = 3*x*x-4*x+7;
3x 2  4 x  7 x  1 else if(x<=-10)
Exemplu nr. 2: Calculul valorii lui y   pentru un x dat. y = x*x*x+8*x*x-4*x-5;
4 x  3 x 1 else
Varianta 1: utilizând operatorul conditional ternar y = 4*x-3;
printf("\n x = %7.3f \t y = %7.3f",x,y);
#include<stdio.h> getch();
#include<conio.h> }
void main(void)
{ float x, y; clrscr(); Exemplu nr. 4: Calculul valorii lui y  2 x3  8x 2  4 x  5 pentru x  [a, b] ,
puts("\n Introduceti o valoare pentru x:"); scanf("%f",&x);
y = (x>=1)?3*x*x-4*x+7:4*x-3; parcurs cu pasul h.
printf("\n x = %7.3f \t y = %7.3f",x,y);
getch(); #include<stdio.h>
} #include<conio.h>
void main(void)
Varianta 2: utilizând instrucţiunea de decizie if { float a, b, h, x, y; clrscr();
#include<stdio.h> printf("\n Introduceti a:"); scanf("%f",&a);
#include<conio.h> printf("\n Introduceti b:"); scanf("%f",&b);
void main(void) printf("\n Introduceti h:"); scanf("%f",&h);
{ float x, y; clrscr(); for(x=a;x<=b;x+=h)
puts("\n Introduceti o valoare pentru x:"); scanf("%f",&x); { y = 2*x*x*x-8*x*x+4*x-5; printf("\n x = %7.3f \t y = %7.3f",x,y); }
if(x>=1) y = 3*x*x-4*x+7; getch();
else y = 4*x-3; }
printf("\n x = %7.3f \t y = %7.3f",x,y);
getch();
}
3x 2  4 x  7 x  1 Exemplu nr. 7: Suma elementelor unui şir
Exemplu nr. 5: Calculul valorii lui y pentru.
4 x  3 x 1 #include<stdio.h>
x  [a, b] , parcurs cu pasul h. #include<conio.h>
void main(void)
#include<stdio.h> { int i, n, a[25], s; clrscr();
#include<conio.h> // citirea nr. de elemente dintr-un sir
void main(void) printf("\n Introduceti n:"); scanf("%d",&n);
{ float a, b, h, x, y; clrscr(); // citirea elementelor unui sir
printf("\n Introduceti a:"); scanf("%f",&a); for(i=1;i<=n;i++)
printf("\n Introduceti b:"); scanf("%f",&b); { printf("\n a[%d]=",i); scanf("%d",&a[i]); }
printf("\n Introduceti h:"); scanf("%f",&h); //calculul sumei elementelor sirului
for(x=a;x<=b;x+=h) for(s=0,i=1;i<=n;i++) s+=a[i];
{ y = (x>=1)?3*x*x-4*x+7:4*x-3; printf("\n x = %7.3f \t y = %7.3f",x,y); } //afisarea sumei elementelor sirului
getch(); printf("\n Suma elem. este: s = %d",s);
} getch();
}
3x 2  4 x  7 x 1 Exemplu nr. 8: Afişarea elementelor pare dintr-un şir

Exemplu nr. 6: Calculul valorii lui y  4 x  3  10  x  1
 x 3  8 x 2  4 x  5 x  10 #include<stdio.h>
 #include<conio.h>
pentru x  [a, b] , parcurs cu pasul h. void main(void)
{ int i, n, a[25], s; clrscr();
#include<stdio.h> // citirea nr. de elemente dintr-un sir
#include<conio.h> printf("\n Introduceti n:"); scanf("%d",&n);
void main(void) // citirea elementelor unui sir
{ float a, b, h, x, y; clrscr(); for(i=1;i<=n;i++)
printf("\n Introduceti a:"); scanf("%f",&a); { printf("\n a[%d]=",i); scanf("%d",&a[i]); }
printf("\n Introduceti b:"); scanf("%f",&b); //afisarea elementelor pare ale sirului
printf("\n Introduceti h:"); scanf("%f",&h); for(i=1;i<=n;i++)
for(x=a;x<=b;x+=h) if(a[i]%2==0)
{ printf("%5d",a[i]);
if(x>=1) y = 3*x*x-4*x+7; getch();
else if(x<=-10) y = x*x*x+8*x*x-4*x-5; }
else y = 4*x-3;
printf("\n x = %7.3f \t y = %7.3f",x,y);
}
getch();
}
Exemplu nr. 9: Determinarea numărului de elemente negative dintr-un şir Exemplu nr. 11a: Determinarea elementului minim şi a poziţiei acestuia
pentru un şir
#include<stdio.h>
#include<conio.h> #include<stdio.h>
void main(void) #include<conio.h>
{ int i, n, a[25], nen; clrscr(); void main(void)
// citirea nr de elemente dintr-un sir { int i, n, a[25], min, poz; clrscr();
printf("\n Introduceti n:"); scanf("%d",&n); // citirea nr. de elemente dintr-un sir
// citirea elementelor unui sir printf("\n Introduceti n:"); scanf("%d",&n);
for(i=1;i<=n;i++) // citirea elementelor unui sir
{ printf("\n a[%d]=",i); scanf("%d",&a[i]); } for(i=1;i<=n;i++)
//determinarea nr de elem. negative { printf("\n a[%d]=",i); scanf("%d",&a[i]); }
for(nen=0,i=1;i<=n;i++) //determinarea elementului minim
if(a[i]<0) for(min=a[1],i=2;i<=n;i++)
nen++; if(a[i]<min) { min=a[i]; poz=i; }
//afisarea numarului de elemente negative //afisarea val. minime si a pozitiei acestuia
printf("\n Sunt %d elemente negative",nen); printf("\n min=%5d, poz=%2d",min, poz);
getch(); getch();
} }

Exemplu nr. 10: Calculul mediei aritmetice a elementelor strict pozitive dintr- Exemplu nr. 11b: Determinarea elementului maxim şi a poziţiei acestuia
un şir pentru un şir

#include<stdio.h> #include<stdio.h>
#include<conio.h> #include<conio.h>
void main(void) void main(void)
{ int i, n, a[25], s, nep, ma; clrscr(); { int i, n, a[25], max, poz; clrscr();
// citirea nr. de elemente dintr-un sir // citirea nr. de elemente dintr-un sir
printf("\n Introduceti n:"); scanf("%d",&n); printf("\n Introduceti n:"); scanf("%d",&n);
// citirea elementelor unui sir // citirea elementelor unui sir
for(i=1;i<=n;i++) for(i=1;i<=n;i++)
{ printf("\n a[%d]=",i); scanf("%d",&a[i]); } { printf("\n a[%d]=",i); scanf("%d",&a[i]); }
//det. nr de elem pozitive si a sumei //determinarea elementului maxim
for(nep=0,s=0,i=1;i<=n;i++) for(max=a[1],i=2;i<=n;i++)
if(a[i]>0) { s+=a[i];nep++; } if(a[i]>max) { max=a[i]; poz=i; }
//calculul mediei aritmetice //afisarea val. max. si a pozitiei acestuis
ma=s/nep; printf("\n max=%5d, poz=%2d",max, poz);
//afisarea mediei aritmetice getch();
printf("\n Media aritm este: ma = %d",ma); }
getch(); }
Exemplu nr. 12: Ordonarea crescatoare a unui şir (metoda bubble-sort) if(max <= a[j])
{ max=a[j]; poz=j; }
#include<stdio.h> aux=a[i]; a[i]=a[poz]; a[poz]=aux;
#include<conio.h> }
void main(void) printf("\n");
{ int i, n, a[25], aux, kod; clrscr(); //afisarea elementelor sirului ordonat descrescator
// citirea nr. de elemente dintr-un sir for(i=1;i<=n;i++)
printf("\n Introduceti n:"); scanf("%d",&n); printf("%5d",a[i]);
// citirea elementelor unui sir getch(); }
for(i=1;i<=n;i++)
{ printf("\n a[%d]=",i); scanf("%d",&a[i]); } Exemplu nr. 14: Calculul sumei elementelor strict pozitive dintr-o matrice
//afisarea elementelor sirului dreptunghiulara.
for(i=1;i<=n;i++) printf("%5d",a[i]);
//ordonarea crescatoare a elem. sirului #include<stdio.h>
do{ kod=0; #include<conio.h>
for(i=1;i<n;i++) void main(void)
if(a[i] > a[i+1]) {aux=a[i]; a[i]=a[i+1]; a[i+1]=aux; kod++;} { int i,j, m, n, a[10][10], s; clrscr();
}while(kod!=0); // citirea numarului de linii si coloane
printf("\n"); printf("\n m si n:");scanf("%d %d",&m,&n);
//afisarea elem. sirului ordonat crescator // citirea elementelor matricei
for(i=1;i<=n;i++) printf("%5d",a[i]); for(i=1;i<=m;i++)
getch(); for(j=1;j<=n;j++)
} { printf("\n a[%d][%d]=",i,j); scanf("%d",&a[i][j]); }
// afisarea elementelor matricei
Exemplu nr. 13: Ordonarea descrescatoare a unui şir (metoda selecţiei) for(i=1;i<=m;i++)
{ printf("\n");
#include<stdio.h> for(j=1;j<=n;j++)
#include<conio.h> printf("%4d",a[i][j]); }
void main(void) // calculul sumei elem. strict pozitive
{ int i, j, n, a[25], aux, max, poz; clrscr(); for(s=0,i=1;i<=m;i++)
// citirea nr. de elemente dintr-un sir for(j=1;j<=n;j++)
printf("\n Introduceti n:"); scanf("%d",&n); if(a[i][j]>0) s+=a[i][j];
// citirea elementelor unui sir // afisarea sumei calculate anterior
for(i=1;i<=n;i++) { printf("\n a[%d]=",i); scanf("%d",&a[i]); } printf("\n Suma elem. str. poz. S = %d",s);
//afisarea elementelor sirului getch();
for(i=1;i<=n;i++) printf("%5d",a[i]); }
//ordonarea descrescatoare a elem. sirului
for(i=1;i<n;i++)
{max=a[i];
for(j=i;j<=n;j++)
Exemplu nr. 15: Calculul numărului de elemente pare dintr-o matrice // afisarea elementelor matricei A
dreptunghiulară. for(i=1;i<=m;i++)
{ printf("\n");
#include<stdio.h> for(j=1;j<=n;j++)
#include<conio.h> printf("%4d",a[i][j]);
void main(void) }
{ int i,j, m, n, a[10][10], nep; clrscr(); // citirea elementelor matricei B
// citirea numarului de linii si coloane for(i=1;i<=m;i++)
printf("\n Introduceti m si n:"); scanf("%d %d",&m,&n); for(j=1;j<=n;j++)
// citirea elementelor matricei { printf("\n b[%d][%d]=",i,j);
for(i=1;i<=m;i++) scanf("%d",&b[i][j]);
for(j=1;j<=n;j++) }
{ printf("\n a[%d][%d]=",i,j); scanf("%d",&a[i][j]); } // afisarea elementelor matricei B
// afisarea elementelor matricei for(i=1;i<=m;i++)
for(i=1;i<=m;i++) { printf("\n");
{ printf("\n"); for(j=1;j<=n;j++)
for(j=1;j<=n;j++) printf("%4d",b[i][j]);
printf("%4d",a[i][j]); }
} // calculul matricei C
// calculul numarului de elemente pare for(i=1;i<=m;i++)
for(nep=0,i=1;i<=m;i++) for(j=1;j<=n;j++)
for(j=1;j<=n;j++) c[i][j]=a[i][j]+b[i][j];
if(a[i][j]%2==0) nep++; // afisarea matricei calculate anterior
// afisarea elementelor matricei C
// afisarea numarului de elemente pare for(i=1;i<=m;i++)
printf("\n Nr. de elem. pare este %d",nep); { printf("\n");
getch(); } for(j=1;j<=n;j++)
printf("%4d",c[i][j]);
Exemplul nr. 16: Calculul sumei a două matrice dreptunghiulare }
getch();
#include<stdio.h> }
#include<conio.h>
void main(void) Exemplul nr. 17: Calculul mediei aritmetice a elementelor divizibile cu 3
{ int i,j, m, n, a[10][10], b[10][10], c[10][10]; clrscr(); situate sub şi pe diagonala principală.
// citirea numarului de linii si coloane
printf("\n Introduceti m si n:"); scanf("%d %d",&m,&n); #include<stdio.h>
// citirea elementelor matricei A #include<conio.h>
for(i=1;i<=m;i++) void main(void)
for(j=1;j<=n;j++) { int i,j, n, a[10][10], s, ned3;float ma3; clrscr();
{ printf("\n a[%d][%d]=",i,j); scanf("%d",&a[i][j]); }
// citirea numarului de linii si coloane // calculul sumei
printf("\n Introduceti n:"); scanf("%d",&n); for(s=0, i=1;i<=n;i++)
// citirea elementelor matricei s+=pow(i,4); s = s * 1./pow(n,5);
for(i=1;i<=n;i++) // afisarea valorii sumei calculate
for(j=1;j<=n;j++) printf("\n Suma este s = %7.3f",s);
{ printf("\n a[%d][%d]=",i,j); getch();
scanf("%d",&a[i][j]); }
}
// afisarea elementelor matricei Exemplul nr. 19: Calculul primilor “n” termeni din dezoltarea:
for(i=1;i<=n;i++)
{ printf("\n");  1 1 2 1 2  3 1 2  3  4 
for(j=1;j<=n;j++)   2  1      ...
 3 3 5 3 5 7 3 5 7  9 
printf("%4d",a[i][j]);
}
// calc. sumei si a nr. elem. divizibile cu 3 până când diferenţa dintre doi termeni consecutivi este mai mică decât o
// situate pe si sub diagonala principala valoare impusă (eps).
for(s=0,ned3=0,i=1;i<=n;i++)
for(j=1;j<=i;j++) #include<stdio.h>
if(a[i][j]%3==0) #include<conio.h>
{s+=a[i][j];ned3++;} #include<math.h>
// calculul mediei aritmetice: #define EPS 0.0001
ma3 = s*1./ned3; void main(void)
// afisarea mediei aritmetice {int i, j, k, p1, p2; double t[50], s; clrscr();
printf("\n M.a. este = %7.3f",ma3);
getch(); t[1]=1./3; i=1; s = 1+t[1];
}
do { i++;
Exemplul nr. 18: Calculul sumei primilor “n” termeni ai şirului: t[i]=t[i-1]*i/(2*i+1);
s+=t[i];
an 
1 4
n 5
1  24  34  ...  n 4  }while((t[i]-t[i-1])<EPS);

#include<stdio.h> printf("\n PI_M = %10.8lf \t PI_C = %10.8lf",M_PI,2*s );


#include<conio.h>
#include<math.h> getch();
void main(void) }
{ int i, n; float s; clrscr();
// citirea numarului de termeni
printf("\n Introdu nr. de termeni n="); scanf("%d",&n);

S-ar putea să vă placă și