lucrarea nr. 4 c

13
Ministerul Educaţiei al Republicii Moldova Universitatea Tehnică a Moldovei Facultatea Calculatoare, Informatică şi Microelectronică Lucrarea de laborator nr. 4 La disciplina: Programarea calculatoarelor Tema: Prelucrarea tablourilor bidimensionale in C. A efectuat: Dobrovolschi Victor, gr. TI-134 A verificat: Luchianov Ludmila,Doc.Conf.Univ.

Upload: viktor-dobrovolschi

Post on 31-Dec-2015

10 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lucrarea Nr. 4 C

Ministerul Educaţiei al Republicii MoldovaUniversitatea Tehnică a Moldovei

Facultatea Calculatoare, Informatică şi Microelectronică

Lucrarea de laborator nr. 4La disciplina: Programarea calculatoarelor

Tema: Prelucrarea tablourilor bidimensionale in C.

A efectuat: Dobrovolschi Victor, gr. TI-134 A verificat: Luchianov Ludmila,Doc.Conf.Univ.

Chişinău 2013

Page 2: Lucrarea Nr. 4 C

Problema 1: De calculate suma si cantitatea elementelor pare de pe prima si ultima coloana.

2

Page 3: Lucrarea Nr. 4 C

Listingul programului:#include<stdio.h>#include<conio.h>#include<math.h>void main(){clrscr();int y[20][20],i,j,s,k,n,m;printf("\n Culegeti cantitatea de linii n ale masivului y\n");scanf("%d",&n);printf("\n Culegeti cantitatea de coloane m ale masivului y\n");scanf("%d",&m);printf("\n Culegeti masivul y\n\n");for(i=0;i<n;i++){for(j=0;j<m;j++){printf("y[%d][%d]=",i,j);scanf("%d",&y[i][j]);}}s=0; k=0;printf("\n Masivul initial:\n");for(i=0;i<n;i++){for(j=0;j<m;j++){printf("%3d",y[i][j]);}printf("\n");}for(i=0;i<n;i++){if(fmod(y[i][0],2)==0){k++;s+=y[i][0];}if(fmod(y[i][m-1],2)==0){k++;s+=y[i][m-1];}}printf("\n Suma elementelor pare din prima si ultima coloana=%d",s);printf("\n Cantitatea elementelor pare din prima si ultima coloana =%d",k);getch();}

3

Page 4: Lucrarea Nr. 4 C

START

y[20][20],i,j,m,n,s,k

n

Culegeti nr.de coloane

Culegeti nr.de linii

m

i=0; i<n; i++

j=0; j<n; j++

y[i][j]

s=0;k=0

i=0; i<n; i++

j=0; j<n; j++

Fmod…

K++

i,j

Masivul initial..

y[i][j]

S+=y…

Suma

Cantitatea

END

4

Page 5: Lucrarea Nr. 4 C

Rezultatele finale:

5

Page 6: Lucrarea Nr. 4 C

Problema 2: De schimbat cu locul elementele ariei II cu elementele ariei III.

6

Page 7: Lucrarea Nr. 4 C

Listingul programului:#include<stdlib.h>#include <stdio.h>#include<conio.h>void main(){int x[20][20],n,m,i,j,h,g,min;char z; clrscr();printf("\nCulegeti marimea masivului");scanf("%d",&n);label:clrscr();printf("\n\nAlegeti metoda de completare a masivului a/m:\n");printf("\n a-Automat\n");printf("\n m-Manual\n");z=getch();if((z=='a')||(z=='A')) goto automat; elseif((z=='m')||(z=='M')) goto manual; else goto label;automat:randomize();for(i=0;i<n;i++){for(j=0;j<n;j++){x[i][j]=random(19)-9; }}goto masiv;manual:printf("\n Culegeti masivul[%d][%d]\n",n,n);for(i=0;i<n;i++){for(j=0;j<n;j++){printf("x[%d][%d]= ",i,j);scanf("%d",&x[i][j]); }}masiv:clrscr();printf("\Masivul x[%d][%d] initial:\n\n",n,n);for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%3d",x[i][j]); }printf("\n\n"); }m=n/2; printf("Cadranul 3:\n\n"); for(i=(n-m);i<n;i++){for(j=0;j<m;j++){printf("%3d ",x[i][j]);//cadranul 3}printf("\n\n");}printf("Cadranul 2:\n\n");for(i=0;i<m;i++){for(j=(n-m);j<n;j++){printf("%3d ",x[i][j]);//cadranul 2}

7

Page 8: Lucrarea Nr. 4 C

printf("\n\n");}h=0;//schimbam cu locul cadranul 3 principalprintf("Schimbarea cu locul elementele ariei 2 cu elementele ariei 3\n\n"); for(i=(n-m);i<n;i++){ g=n-m;for(j=0;j<m;j++){min=0;min = x[i][j];x[i][j]=x[h][g];x[h][g]=min;g++;}h++;} //ne uitam la masivfor(i=0;i<n;i++){for(j=0;j<n;j++){printf("%3d",x[i][j]); }printf("\n\n");}getch();

}

8

Page 9: Lucrarea Nr. 4 C

START

clrscr();

n

Alegeti modul de…

i=0; i<n; i++

j=0; j<n; j++

i=0; i<n; i++

j=0; j<n; j++

Masivul…

x[i][j]

Z=a

automat

randomize

Z=m

manual

Culegeti mas

i=0; i<n; i++

j=0; j<n; j++

i=0; i<n; i++

j=0; j<n; j++

x[i][j]

i=n-m,n

j=0; j<m; j++

Min=0

H++

x[i][j]

x[i][j]

G++

9

Page 10: Lucrarea Nr. 4 C

i=0; i<n; i++

j=0; j<m; j++

x[i][j]

END

10

Page 11: Lucrarea Nr. 4 C

Rezultatele finale:

11