Documente Academic
Documente Profesional
Documente Cultură
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);