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

Ответы

Ответ дал: Аноним
0
Версия языка: 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
Вызов GetMass позволяет заполнять массив случайными числами, GetMass(false) обеспечивает ввод данных с клавиатуры.
Ответ дал: katyagarnaga
0
спасибо большое
Ответ дал: Аноним
0
Пожалуйста
Вас заинтересует