Посмотрите пожалуйста програмку (паскаль)
она выполняет 2 задания:
1 - находит максимальные элементы и делит их на 2
2- ищет минимальный элемент ниже побочной диагонали
все бы ничего, но по отдельности программы работают в идеале, но как только совмещаю их в одну, то начинают выдавать неверные ответы
что не так?
program ш1;
var i,j,n,m,max,min:integer;
a:array[1..10,1..10] of integer;
begin
read(n);
read(m);
for i:=1 to n do
for j:=1 to m do
begin readln(a[i,j]); max:=a[1,1];
if a[i,j] > max then max:= a[i,j];end;
max:= max div 2;writeln ('max',max);
for i:=1 to N do begin
write(' ':5 * (N - i+1));
for j:=N-i+2 to N do begin
write(a[i,j]:5);if min > a[i,j] then min := a[i,j];
end;writeln();end;writeln('Minimum: ', min);end.
Answers & Comments
Verified answer
Vari, j, n, max, min: integer;
a: array[1..10, 1..10] of integer;
begin
readln(n);
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := Random(-50, 50);
// readln(a[i, j]);
if (i = 1) and (j = 1) then max := a[1, 1]; {инициализируем один раз а не каждый раз}
if a[i, j] > max then max := a[i, j];
write(a[i, j]:5);
end;
writeln();
end;
writeln('Maximum: ', max / 2);
min := a[n, n]; {любой элемент ниже побочной диагонали}
for i := 1 to n do
begin
for j := n - i + 2 to n do
begin
write(a[i, j]:5);
if min > a[i, j] then min := a[i, j];
end;
writeln();
end;
writeln('Minimum: ', min);
end.