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

№2 разработать модуль, в котором определить простейшие процедуры: 1.ввода двумерного массива 2.вычисления суммы его диагональных элементов. в программе вычислить общую сумму диагональных элементов 3-х массивов. нужен паскаль abc.net

Ответ:
shtylenko2002
shtylenko2002
06.10.2020 07:07
Версия языка: PascalABC.Net 3.2, сборка 1437 от 03.05.2017

1. Сохраняем текст модуля в файле garnaga.pas и выполняем компиляцию (Ctrl+F9)

unit garnaga;

interface

type Mass2d=array [,] of integer;

function GetMass(rand:boolean:=true):Mass2d;

function SumDiag(a:Mass2d):integer;

implementation

function GetMass(rand:boolean):Mass2d;
begin
  var n:=ReadInteger('Количество строк/столбцов в массиве:');
  if rand=true then begin
    var a:=ReadInteger('Минимальное значение для заполнения:');
    var b:=ReadInteger('Максимальное значение для заполнения:');
    Result:=MatrRandom(n,n,a,b)
    end
  else begin
    Writeln('Вводите элементы массива:');
    Result:=ReadMatrInteger(n,n)
    end
end;

function SumDiag(a:Mass2d):integer;
begin
  Result:=0;
  var n:=a.RowCount-1;
  for var i:=0 to n do Result+=a[i,i]+a[i,n-i];
  if n.IsEven then begin
    n:=n div 2;
    Result-=a[n,n]
    end
end;

end.

2. Создаем новый файл и помещаем в него программу, использующую созданный модуль

uses garnaga;

begin
  var a:=GetMass; a.Println; Writeln;
  var b:=GetMass; b.Println; Writeln;
  var c:=GetMass(false); Writeln;
  Writeln('Sдиаг=',SumDiag(a)+SumDiag(b)+SumDiag(c))
end.

3. Запускаем программу на выполнение.

Пример работы:
Количество строк/столбцов в массиве: 4
Минимальное значение для заполнения: -20
Максимальное значение для заполнения: 35
   4 -14 -14  26
  26  -6  12  22
  13  10 -20  26
  -3  22  14  -4

Количество строк/столбцов в массиве: 5
Минимальное значение для заполнения: 0
Максимальное значение для заполнения: 50
  13  48   5  12   2
  43  31  45  35  23
  36  30   6  47  42
  11   8  29  36  39
  11  33  14  48  29

Количество строк/столбцов в массиве: 3
Вводите элементы массива:
1 6 2
8 3 4
7 0 5

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