Нужно поменять местами макс. и мин. значения. Что не так? PROGRAM MATRICA; USES CRT; CONST N=3; M=4; A=-20; B=20; VAR I, J, MIN, MAX, T: INTEGER; Y:ARRAY [1..N, 1..M] OF INTEGER; BEGIN CLRSCR; RANDOMIZE; WRITELN('MATRICA Y'); M...

Нужно поменять местами макс. и мин. значения. Что не так? PROGRAM MATRICA; USES CRT; CONST N=3; M=4; A=-20; B=20; VAR I, J, MIN, MAX, T: INTEGER; Y:ARRAY [1..N, 1..M] OF INTEGER; BEGIN CLRSCR; RANDOMIZE; WRITELN('MATRICA Y'); MIN:=0; MAX:=0; T:=0; FOR I:=1 TO N DO BEGIN FOR J:=1 TO M DO BEGIN Y[I,J]:=TRUNC((B-A)*RANDOM+A); WRITE(Y[I,J]:6); IF Y[I,J]MAX THEN MAX:=Y[I,J]; END; WRITELN; END; WRITELN('Минимальное значение = ', MIN); WRITELN('Максимальное значение = ', MAX); T:=MIN; MIN:=MAX; MAX:=T; FOR I:=1 TO N DO BEGIN FOR J:=1 TO M DO BEGIN WRITE(Y[I,J]:6); END; WRITELN; END; READKEY; END.
Гость
Ответ(ы) на вопрос:
Гость
program matrix; var  A: array[1..10, 1..10] of integer; i, j, mini, minj, maxi, maxj, temp: integer; begin  Randomize;   for i := 1 to 10 do  begin     for j := 1 to 10 do    begin       A[i, j] := random(100);       write(A[i, j], ' ');    end;    writeln;    end;    mini := 1;    minj:=1;    maxi := 1;    maxj:=1;    for i := 1 to 10 do     for j := 1 to 10 do     begin       if A[i, j] < A[mini,minj] then  begin        mini := i;       minj := j;      end;       if A[i, j] > A[maxi,maxj] then      begin        maxi := i;        maxj := j;       end;       end;       WriteLn('min = ',A[mini,minj],' это ',mini,' ряд ',minj,' столбца.' );       WriteLn('max = ',A[maxi,maxj],' это ',maxi,' ряд ',maxj,' столбца.' );        temp := A[maxi, maxj];        A[maxi, maxj] := A[mini, minj];        A[mini, minj] := temp;        writeln;        for i := 1 to 10 do  begin         for j := 1 to 10 do          write(A[i, j], ' ');          writeln;        end;         readln;        end. temp - переменная для временного хранения минимальных и максимальных элементов.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы