Documente Academic
Documente Profesional
Documente Cultură
Varianta 7
Raport
Chisinău 2018
Cuprin
2
s
3
1. Scopul și obiectivele lucrării
4
2. Sarcina
5
3. Schema bloc
START
nCol=3
a=introducereMatrice(nCol);
afisare(a,nCol);
prelucrare(a,nCol);
prelucrare2(a,nCol);
prelucrare3(a,nCol);
prelucrare4(a,nCol);
prelucrare4(a,nCol);
eliberare(a,nCol);
STOP
6
Figura 1 Schema bloc pentru functia main
7
Figura 2 Schema bloc pentru functia prelucrare
8
4. Realizarea
Programul dat are ca scop să citescă o matrice pătratică de la tastatură. La startarea aplicației
utilizatorul trebuie să introduce de la tastatură valorile, și după se va aloca un tablou.
for(j=0;j<nCol;j++)
printf("Introduceti %d %d:",i+1,j+1);
scanf("%d",*(a+i)+j);
int i,j,sn=0,pp=1;
for(i=1;i<nCol;i++)
for(j=nCol-i;j<nCol;j++)
if((*(*(a+i)+j))<0) sn=sn+(*(*(a+i)+j));
if((*(*(a+i)+j))>0) pp=pp*(*(*(a+i)+j));
}
printf("\n");
}
9
printf("\n Produsul elementelor pozitive de sub diagonala secundara este %d",pp);
int i,j,sn=0,pp=1;
for(i=0;i<nCol;i++)
for(j=0;j<i;j++)
if((*(*(a+i)+j))<0) sn=sn+(*(*(a+i)+j));
if((*(*(a+i)+j))>0) pp=pp*(*(*(a+i)+j));
printf("\n");
int i,j,sn=0,pp=1;
for(i=0;i<nCol;i++)
for(j=0;j<nCol;j++)
if(i==j)
10
{
if((*(*(a+i)+j))<0) sn=sn+(*(*(a+i)+j));
if((*(*(a+i)+j))>0) pp=pp*(*(*(a+i)+j));
printf("\n");
int i,j,sn=0,pp=1;
for(i=0,j=nCol-1;i<nCol;i++,j--)
if((*(*(a+i)+j))<0) sn=sn+(*(*(a+i)+j));
if((*(*(a+i)+j))>0) pp=pp*(*(*(a+i)+j));
11
Concluzii
12
Bibliografie
Anexa A
13
Anexa B
#include <stdio.h>
#include <stdlib.h>
15
printf("Suma elementelor negative de sub diagonala principala este %d",sn);
printf("\n Produsul elementelor pozitive de sub diagonala principala este
%d",pp);
}
16
printf("\nSuma elementelor negative de pe diagonala secundara este %d",sn);
printf("\n Produsul elementelor pozitive de pe diagonala secundara este %d",pp);
}
int main()
{
int **a;
int nCol,i,j;
printf("Dimensiunea matricii:");
scanf("%d",&nCol);
a=introducereMatrice(nCol);
printf("\n");
afisare(a,nCol);
prelucrare(a,nCol);
prelucrare2(a,nCol);
prelucrare3(a,nCol);
prelucrare4(a,nCol);
eliberare(a,nCol);
return 0;
}
17
Ex1
void sortbule ( float *a, unsigned n )
{
unsigned i, m = n–1; float temp;
int ind = 1;
while ( ind >= 0)
{
ind = -1;
for(i=0 ;i<m;i++)
if (*(a+i) >*(a+i+1))
{
temp=*(a+i);
*(a+i)=*(a+i+1) ;
*(a+i+1)=temp;
ind=i;
}
m=ind ;
}
}
Ex2.Pointeri la functie:
#include <stdio.h>
Void afis1()
{
Printf(“TI-173”);
}
Void afis2()
{
Printf(“UTM”);
18
}
Void afis3()
{
Printf(“2018”);
}
Int main()
Int I;
Void (*p[3]) (void);
P[0]=&afis1;
P[1]=&afis2;
P[2]=&afis3;
For(i=0;i<3;i++)
(*p[i]) ();
Return 0;
}
Ex3.
# include “stdio.h”
char *strstr (char *S 1, char *S 2)
{ unsigned i ;
char *SA = S 1, *SB = S 2, *SC = S 2 ;
while ( *SB ! = ‘\0’ ) {
i=1;
while ( *SA ! = ‘\0’)
if ( *SA == *SB) {
SA ++; SB++;}
else {
i = 0 ; break ; }
if (i == 1)
return SC ;
19
SA = S 1 ; SC++ ; SB = SC ;
}
return NULL ; }
20