В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
ulyana783
ulyana783
02.07.2022 02:20 •  Информатика

Создайте собственную библиотеку в pascal с тремя подпрограммами

Ответ:
slavioglokolea77
slavioglokolea77
25.09.2020 13:46
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 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?