Посмотрите пожалуйста програмку (паскаль) она выполняет 2 задания: 1 - находит...

0 голосов
33 просмотров

Посмотрите пожалуйста програмку (паскаль)

она выполняет 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.


Информатика (205 баллов) | 33 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
    i, 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.

(55.0k баллов)