Посмотрите програмку (паскаль) она выполняет 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.

НеШкольник228228 НеШкольник228228    2   02.08.2019 11:40    0

Ответы
artembryzgin artembryzgin  30.09.2020 01:07
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика