- Код: Выделить всё
const N = 2; M = 5;
type arr = array[1..N,1..M] of integer;
var
one,two: arr;
i,j: byte;
procedure matrix(var a: arr);
begin
randomize;
for i:=1 to N do
for j:=1 to M do begin
a[i,j] := random(100);
end;
end;
procedure printer(var a: arr);
begin
for i:=1 to N do begin
for j:=1 to M do
write(a[i,j]:4);
writeln;
end;
end;
begin
matrix(one);
printer(one);
writeln;
matrix(two);
printer(two);
end.
Почему оба массива заполняются одинаковыми значениями?
- Код: Выделить всё
61 48 79 82 78
53 10 13 35 14
61 48 79 82 78
53 10 13 35 14
Однако если сделать так:
- Код: Выделить всё
...
procedure matrix(var a: arr; b: integer);
begin
randomize;
for i:=1 to N do
for j:=1 to M do begin
a[i,j] := random(b);
end;
end;
...
...
matrix(one,100);
matrix(two,200);
....
то массивы заполняются по-разному. Если передавать одинаковый второй параметр, то заполняются одинаково.