Sunteți pe pagina 1din 9

Ministerul Educaiei al Republicii Moldova Universitatea Tehnic a Moldovei

Referat Bronsita cronica si astmul

A efectuat:

st.gr. TI-133 Plasiciuc Vadim

Chiinu 2013

Lucrare de Laborator Nr.4 Tema :Prelucrarea Masivelor Bidimensionale Scopul lucrrii: Acumularea deprinderilor practice de elaborare i programare a
alogoritmelor. Deprinderi de scriere i testare a programelor n limbajul C.

Formularea condiiei problemei (sarcina de lucru): 1) De calculat produsul elementelor pare din rindul 3. 2) Se da masivul bidimensional K[n] sa se schimbe elementele ariei I cu elementele ariei 4

Noiuni principale din teorie i metode folosite: 1) Metoda randomize 2) Funcia scanf are rolul de a introduce date tastate de la terminalul standard sub controlul unor formate. Datele introduse sunt convertite din formatele lor externe n formate interne i sunt pstrate la adresele specificate la apel. Datele introduse se termin cu apsarea tastei ENTER. Prototipul funciei scanf se gsete n fiierul stdio.h i este: int scanf(const char *format [,adresa,..]); 3) Funcia printf este folosit pentru afiarea unor date pe ecranul terminalului standard sub controlul unor formate. Datele sunt convertite din format intern n formatul extern specificat. Prototipul funciei printf se gsete n fiierul stdio.h i este: int printf(const char *format [,expresie, ]);

Analiza datelor: a) Date de intrare (input): a,i,j,n,m,aux,p; b) Date de ieire (output): p,aux.

Schema bloc1 //Interschimbare


START

int i ,j,n,m,aux; char y; char z; int p=1;

{a}
Interschimbare a va fi

da

If n%2==0

NU

i=0, n/2

I-0,n/2

J=0,m/2 J=0,m/2

Aux=a[i][j] A[i][j] ..
Aux=a[i][j] A[i][j] ..

{A} Matricea finala

Matricea finala{a}

Stop

Schema bloc 2 //PRODUS


START
int i ,j,n,m,aux; char y; char z; int p=1;

{a}

i=0 n

Produsul este

J=0, m

If a[2][j]%2==0

P*=a[2][j]

Nu exista elemente pare

Stop

Listing
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a[20][20] ; int i ,j,n,m,aux; char y; char z; int p=1; srand(time(NULL)); //Culegem masivul m1: printf("\nCulegem marimea masivului\n"); scanf ("%d",&n); printf("\nAlegeti metoda afisarii matricii (a/m)"); y=getch(); // Aleator sau Manual if (y=='a'||y=='A') goto Aleator; if (y=='M'||y=='m') goto manual; //Aleator folosind randomize() Aleator: for (i=0; i<n; i++) { for (j=0; j<n; j++){ a[i][j]=rand()%30-10;}}

goto masiv;//Mergem la masiv //Manual metoda manual: printf("\nCulegem masivul a[%d][%d]\n",n,n); for (i=0; i<n; i++){ for (j=0; j<n; j++){ printf("a[%d][%d]",i,j); scanf("%d",& a[i][j]);}} goto masiv; //Mergem la masiv masiv: //AFISAM MASIVUL INITIAL printf("\n\nMasivul initial este\n\n"); for ( i=0; i<n; i++){ for (j=0; j<n; j++){ printf("%3d",a[i][j]);} printf("\n\n");} // Aflam prdusul elementelor pare din rindul 3 for (j=0; j<n; j++){ if((a[2][j]%2)==0) p=p*a[2][j]; else ("nu exista elemente pare"); } printf("Produsul elementelor pare din rindul 3 sunt p=%d\n",p); //Interschimbam ariile I CU IV printf("\nInterschimbarea dintre elementele Ariei I cu IV \n\n"); if (n%2==0){ //Cazuri pentru n par si impar for (i=0; i<n/2; i++){

for (j=0; j<n/2; j++){ aux = a[i][j]; a[i][j] = a[n/2+i][n/2+j]; a[n/2+i][n/2+j] = aux; }}} else { for (i=0; i<n/2; i++){ for (j=0; j<n/2; j++){ aux = a[i][j]; a[i][j] = a[n/2+i+1][n/2+j+1]; a[n/2+i+1][n/2+j+1] = aux; }}} for (i=0; i<n; i++){ for (j=0; j<n; j++){ printf("%3.1d",a[i][j]);} printf("\n\n");} printf("Doriti sa incercati din nou ?(d/n)"); z=getch(); if (z=='d') goto m1; if (z=='n') printf("\nLa revedere"); getch(); }

Rezultate CAZUL PAR

CAZUL IMPAR

CONCLUZIE: astfel am invatat s elaboram massive bidimensionale, in mod aleator si manual,precum si interschimbarea ariilor si aflarea produsului elementelor pare.

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