dkrutov03
23.08.2021 10:19

От
Во в файле: https://yadi.sk/i/wiv1sV9-On-w-g

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Oliawait
01.04.2023 01:33
1. Создаем файл MatInt.pas следующего содержания:

// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
unit MatInt;

interface

type
  Matrix=array[,] of integer;

function MatCreate(m,n:integer):Matrix;
procedure MatPrint(a:Matrix;w:integer);
procedure MatMax(a:Matrix;var x,imax,jmax:integer);

implementation

function MatCreate(m,n:integer):Matrix;
// создает матрицу и инициализирует её нулями
begin
  SetLength(Result,m,n);
end;

procedure MatPrint(a:Matrix;w:integer);
// выводит матрицу, отводя w позиций под элемент
begin
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to n do Write(a[i,j]:w);
    Writeln
    end
end;

procedure MatMax(a:Matrix;var x,imax,jmax:integer);
// возвращает значение максимального элемента и его координаты
begin
  imax:=0; jmax:=0;
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to n do
      if a[i,j]>a[imax,jmax] then (imax,jmax):=(i,j);
  Inc(imax); Inc(jmax); x:=a[imax-1,jmax-1]
end;

end.

2. Компилируем файл, получая библиотеку MatInt.pcu

3. Пишем основную программу:

// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
uses
  MatInt;
begin
  var a:=MatCreate(5,8);
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do
  for var j:=0 to n do a[i,j]:=Random(-50,50);
  MatPrint(a,4);
  var irow,jcol,max:integer;
  MatMax(a,max,irow,jcol);
  Writeln('Максимальный А[',irow,',',jcol,']=',max)
end.

Тестовое решение
  11 -16  11  16  23  -4 -17 -34
 -12  -5  20   9  16  47  43  17
 -46 -26  47 -40  12 -31 -25  13
  -7  39 -20  26  11 -19  32 -15
  45 -10 -28  31 -46 -29 -29 -22
Максимальный А[2,6]=47
0,0(0 оценок)
Ответ:
kristinalyapina1
11.12.2021 19:39

program Num5;

var

 A: array [1..5] of Integer;

 i, s, iLast: Integer;

begin

 for i := Low (A) to High (A) do begin

   Write ('Введите ', i, ' число: ');

   ReadLn (A [i]);

 end;

 WriteLn;

 s := 0;

 for i := Low (A) to High (A) do begin

   if A [i] > 0 then

     s := s + A [i]

   else

     s := s - A [i];

 end;

 iLast := -1;

 for i := High (A) downto Low (A) do begin

   if A [i] > 0 then begin

     iLast := i;

     Break;

   end;

 end;

 WriteLn ('Сумма = ', s);

 if iLast <> -1 then

   WriteLn ('Последнее положительное значение = ', A [iLast])

 else

   WriteLn ('Положительных значений не найдено.');

 ReadLn;

end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота