MinIMax


Задача:

  Задан двумерный целочисленный массив, программа находит в нём наименьший и наибольший элементы.


Код:


program minImax;
uses crt;
const
     N = 9;
type Mas = array[1..N,1..N] of integer;
var
   M: Mas;
   i,j,s: integer;
   min,max,jmin,imax: integer;
Begin
clrscr;
Writeln;
Randomize;
TextAttr:=15;
for i:=1 to N do begin         {инициализация и вывод матрицы}
 for j:=1 to N do begin
 M[i,j]:=Random(10);
 Write(' ',M[i,j]:3);
                  end;
 Writeln;
                 end;
max:=M[1,1];imax:=1;
min:=M[1,1];jmin:=1;

for i:=1 to N do begin         {поиск максимума и минимума в матрице}
 for j:=1 to N do begin
  if M[i,j] > max then begin
                     max:=M[i,j];imax:=i;
                     end;
  if M[i,j] < min then begin
                     min:=M[i,j];jmin:=j;
                     end;
  end;
 end;
Writeln;
Writeln('max= ',max,' в строке ',imax);
Writeln('min= ',min,' в столбце ',jmin);

Writeln;
for i:=1 to N do begin           {вывод матрицы}
 for j:=1 to N do begin
  if (i=imax) or (j=jmin) then TextAttr:=11 else TextAttr:=8;
  Write(' ',M[i,j]:3);
                  end;
 Writeln;
                 end;

Writeln;
Write('Скалярное произведение ',imax,' строки на ',jmin,' столбец: ');
for i:= 1 to N do
 s:= s + M[i,jmin]*M[imax,i];         {считаем скалярное произведение}
Write(s);
Readln;
End.




Hosted by uCoz