Sunteți pe pagina 1din 4

D

i
g
i
t
a
l
l
y

s
i
g
n
e
d

b
y

S
e
r
g
i
u

G
.

I
s
t
r
a
t
i
c
n
=
S
e
r
g
i
u

G
.

I
s
t
r
a
t
i
,

o
=
T
e
h
n
i
c
a
l

U
n
i
v
e
r
s
i
t
y

o
f

M
o
l
d
o
v
a
,

c
=
M
D
D
a
t
e
:

2
0
0
3
.
0
2
.
0
1

2
1
:
5
9
:
3
3

+
0
2
'0

0
'R

e
a
s
o
n
:

a
m

t
h
e

a
u
t
h
o
r

o
f

t
h
i
s

d
o
c
u
m
e
n
t
C
h
i
s
i
n
a
u

Problema 3. Prelucrarea rîndurilor şi coloanelor în masive bidimensionale

1. Scopul.
1.1 Studierea şi utilizarea tehnicilor şi instrucţiunilor de bază ale limbajului pentru
prelucrarea rîndurilor şî coloanelor masivelor bidimensionale.
1.2 Obţinerea deprinderii practice de elaborare şi depanare a programelor cu
structură “ciclu în ciclu”.
1.3 Însuşirea prelucrării masivelor bidimensionale la nivel de linii şi coloane.
2. Cunoştinţe necesare.
2.1Descrierea masivelor bidimensionale.
2.2Sintaxa şi modul de utilizare a instrucţiunii ciclice FOR.
2.3Organizarea ciclurilor incorporate.
3. Conţinutul temei.
3.1Studierea metodelor de introducere şi afişare a masivelor bidimensionale.
3.2Studierea tehnicilor de programare a structurilor cu cicluri incorporate.
3.3Însuşirea tehnicilor şi metodelor de programare la prelucrarea masivelor
bidimensionale prin prelucrarea coloanelor şi liniilor concrete.
3.4Elaborarea algoritmului de soluţionare a problemei.
3.5Alcătuirea şi depanarea programului.
4. Conţinutul raportului.
4.1Tema şi scopul lucrării.
4.2Condiţia problemei.
4.3Schema-bloc a algoritmului.
4.4Listingul programului.
4.5Rezultatul calculelor cu analiza corectitudinii.
4.6Descrierea instrucţiunilor principale folosite în program.
4.7Concluzii.
5. Exemplu de program.
Este dat un masiv bidimensional X[n,n]. Determinaţi elementul minimal printre
elementele minimale ale coloanelor impare.
Schema bloc a programului:
Listingul programului:
a) în limbajul Pascal

program bidim2;
var x:array [1..20,1..20] of integer; n,k,i,j,min,minim:integer;
begin
writeln('Culege mărimea masivului n<20'); readln(n);
for i:=1 to n do begin
for j:=1 to n do begin
writeln('Culege elementul x[',i,',',j,']'); readln(x[i,j]); end; end;
writeln('Masivul iniţial');
for i:=1 to n do begin
for j:=1 to n do begin
write (x[i,j],' '); end; writeln; end;
minim:=x[1,1]; k:=1;
for i:=1 to n do begin
if x[i,1]<minim then minim:=x[i,1]; end;
j:=1;
while j<=n do begin
min:=x[1,j];
for i:=1 to n do begin
if x[i,j]<min then min:=x[i,j]; end;
writeln('pe coloana ',j,' minimalul este ',min);
if min<minim then begin minim:=min; k:=j; end;
j:=j+2; end;
writeln('Minimalul este pe coloana ',k,' si este =',minim);
readln end.

b) în limbajul C++

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main(void) {
int x[20][20],n,k,i,j,min,minim;
printf("\nCulege mărimea masivului n<=20\n");
scanf("%d",&n);
printf("\nCulege elementele masivului\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("\nCulege elementul x[%d][%d]\n",i,j);
scanf("%d",&x[i][j]);}}
printf("\nMasivul iniţial este:\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%d ",x[i][j]);}
printf("\n");}
minim=x[1][1]; k=1;
for(i=0;i<n;i++){
if (x[i][1]<minim) minim=x[i][1];}
j=1;
while (j<n){
min=x[1][j];
for(i=0;i<n;i++){
if(x[i][j]<min) min=x[i][j];}
printf("\npe coloana %d minimalul este=%d\n",j,min);
if(min<minim) {minim=min; k=j;}
j+=2;}
printf("\nMinimalul dintre minimali este pe coloana %d si=%d\n",k,minim);
getch();
}
6. Variante
Este dat un masiv bidimensional [n,n]:

var Condiţia Masiv


1. Calculaţi suma şi cantitatea elementelor pozitive pare X[n,n]
printre elementele rîndurilor impare.
2. Printre rîndurile pare ale masivului determinaţi rîndul A[n,n]
cu suma maximală a elementelor .
3. Determinaţi elementul maximal printre elementele rîndurilor B[n,n]
pare
4. Determinaţi elementul maximal printre elementele minimale F[n,n]
ale rîndurilor impare.
5. Calculaţi media aritmetică a elementelor negative impare H[n,n]
printre elementele rîndurilor pare.
6. Printre rîndurile impare ale masivului determinaţi rîndul T[n,n]
cu produsul minimal al elementelor.
7. Determinaţi elementul minimal printre elementele rîndurilor E[n,n]
impare.
8. Determinaţi elementul minimal printre elementele maximale W[n,n]
ale rîndurilor pare.
9. Calculaţi produsul şi cantitatea elementelor divizibile la 3 G[n,n]
printre elementele coloanelor pare.
10. Printre coloanele pare ale masivului determinaţi coloana K[n,n]
cu suma minimală a elementelor.
11. Determinaţi elementul maximal printre elementele coloanelor C[n,n]
impare.
12. Determinaţi elementul maximal printre elementele maximale Y[n,n]
ale coloanelor pare.
13. Calculaţi media aritmetică a elementelor negative pare L[n,n]
printre elementele coloanelor pare.
14. Printre coloanele impare ale masivului determinaţi coloana P[n,n]
cu produsul maximal al elementelor.
15. Determinaţi elementul minimal printre elementele coloanelor R[n,n]
pare.
16. Determinaţi elementul minimal printre elementele minimale S[n,n]
ale coloanelor impare.

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