Дана квадратная матрица A порядка k. Определить максимальный по модулю элемент каждой строки. Результаты записать в одномерный массив — Pascal(Паскаль)

uses Crt;
Var a:array[1..100,1..100] of integer;
    b:array[1..100] of integer;
    k,i,j,n,max:integer;
Begin
     Clrscr;
     Randomize;
     Write('Vvedite razmernost matricy k= ');read(k);
     For i:=1 to k do
         begin
         for j:=1 to k do
             begin
             a[i,j]:= random(10);
             write(' ',a[i,j],' ');
             end;
         writeln;
         end;
     n:=1;
     for i:=1 to k do
         begin
         max:=a[i,1];
         for j:=1 to k do
             if a[i,j]>max then max:=a[i,j];
         b[n]:=max;
         n:=n+1;
         end;
     Writeln('Naibolshie: ');
     for n:=1 to k do
         write(' ',b[n],' ');
         writeln;
     readkey;
End.

Вариант 2

uses Crt;
const k=8; //объявим размерность матрицы как константу
type Tmas=array[1..k] of integer;//тип массив
     Tmatr=array[1..k] of Tmas;  //тип матрица
procedure MaxEl(x:Tmatr; var y:Tmas);
//наша процедура (то же что в тексте программы, только вынесено вперед и объявлены формальные параметры - входной - матрица, выходной - массив максимумов)
var i,j,mx:integer;
begin
for i:=1 to k do
   begin
    mx:=x[i,1];
    for j:=1 to k do
    if x[i,j]>mx then mx:=x[i,j];
    y[i]:=mx;
   end;
end;

var A:Tmatr;//раздел переменных основной программы
    B:Tmas;
    i,j:integer;
begin  //сама программа
clrscr;
randomize;
writeln('Ishodnaya matrica:');
for i:=1 to k do
    begin
      for j:=1 to k do
         begin
           A[i,j]:= random(10);
           write(A[i,j]:3);
         end;
      writeln;
    end;
MaxEl(A,B); //вызов процедуры, уже с фактическими параметрами
writeln('Massiv maximalnyh znachenij strok:');
for i:=1 to k do
write(B[i],' ');
readln
end.
1

Leave a Comment

− 1 = 1