Задание 2 Создать модуль, в котором определить простые процедуры:1.ввода
Задание 2
Создать модуль, в котором найти простые процедуры:
1.ввода двумерного массива
2.вычисления суммы его диагональных частей.
В программке вычислить общую сумму диагональных частей 3-х массивов.
Нужен паскаль abc.net
Anatolij Kalitinskij
Массив квадратный? Если да, то сумму только основной диагонали, либо и основной и побочной?
Данил Бурлачко
сумму диагональных частей 3-х массивов
Юрий Бутрешкин
Мой вопрос остался без ответа)))
Софья Поляткова
или и главной и побочной.благое утро!
1 ответ
Ольга Грунтова
Версия языка: 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
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
Gorshin Zheka
спасибо огромное
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
задание экономиоти
Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких
Экономика.
Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности
Экономика.
там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо
Русский язык.
Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.
Разные вопросы.
Сочинение на тему "Русский язык не сможет умереть!"
Математика.
Приветствую!
Меня зовут Станислав, я представляю компанию under.site.
Хотел бы предложить интересное решение
Разные вопросы.
Масса трёх одинаковых пакетов чая 180г чему равна масса
Математика.
Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл
Химия.
Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы
Русский язык.
Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника
Геометрия.
Облако тегов