Documente Academic
Documente Profesional
Documente Cultură
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
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]: