Вопрос задан 05.03.2021 в 19:26. Предмет Информатика. Спрашивает Каспийская Ольга.

2. Даны 3 двумерных массива A, B, C неодинаковой размерности. Разработать 2 процедуры: 1) процедуру

для ввода размеров и элементов массива. 2) процедуру вычисления суммы диагональных элементов в каждом массиве. В программе вычислить общую сумму диагональных элементов 3-х массивов. Результаты выдать на экран. НУЖЕН ПАСКАЛЬ!!!!
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Седлецкий Илья.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

type
  Mas=array[,] of integer;

procedure GetMas(s:string; var a:Mas);
begin
  Writeln('*** Массив ',s,' ***');
  var n:=ReadInteger('Количество строк в массиве:');
  var m:=ReadInteger('Количество столбцов в массиве:');
  Writeln('Вводите элементы массива');
  a:=ReadMatrInteger(n,m)
end;

function SumDiag(a:Mas):integer;
begin
  Result:=0;
  for var i:=0 to Min(a.RowCount,a.ColCount)-1 do Result+=a[i,i]
end;

begin
  var a,b,c:Mas;
  GetMas('A',a);
  GetMas('B',b);
  GetMas('C',c);
  Writeln('Общая сумма элементов главных диагоналей равна ',
    SumDiag(a)+SumDiag(b)+SumDiag(c))
end.

Пример
*** Массив A ***
Количество строк в массиве: 3
Количество столбцов в массиве: 4
Вводите элементы массива
-33 -50  34 -41
-31  10  37  31
32 -49 -32 -27
*** Массив B ***
Количество строк в массиве: 2
Количество столбцов в массиве: 2
Вводите элементы массива
-22 35
0 11
*** Массив C ***
Количество строк в массиве: 3
Количество столбцов в массиве: 2
Вводите элементы массива
23 38
17 -8
16 -1
Общая сумма элементов главных диагоналей равна -51
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на языке Паскаль, реализующий указанные процедуры и вычисляющий сумму диагональных элементов трех массивов:

pascal
program DiagonalSum; const MAX_SIZE = 100; type TwoDimArray = array[1..MAX_SIZE, 1..MAX_SIZE] of Integer; procedure InputArray(var arr: TwoDimArray; var rows, cols: Integer); var i, j: Integer; begin Write('Введите количество строк: '); Readln(rows); Write('Введите количество столбцов: '); Readln(cols); Writeln('Введите элементы массива:'); for i := 1 to rows do begin for j := 1 to cols do begin Write('A[', i, ',', j, ']: '); Readln(arr[i, j]); end; end; end; function DiagonalSumArray(arr: TwoDimArray; rows, cols: Integer): Integer; var i, sum: Integer; begin sum := 0; for i := 1 to Min(rows, cols) do sum := sum + arr[i, i]; DiagonalSumArray := sum; end; var A, B, C: TwoDimArray; rowsA, colsA, rowsB, colsB, rowsC, colsC: Integer; sumA, sumB, sumC, totalSum: Integer; begin Writeln('--- Ввод массива A ---'); InputArray(A, rowsA, colsA); Writeln; Writeln('--- Ввод массива B ---'); InputArray(B, rowsB, colsB); Writeln; Writeln('--- Ввод массива C ---'); InputArray(C, rowsC, colsC); Writeln; sumA := DiagonalSumArray(A, rowsA, colsA); sumB := DiagonalSumArray(B, rowsB, colsB); sumC := DiagonalSumArray(C, rowsC, colsC); totalSum := sumA + sumB + sumC; Writeln('Сумма диагональных элементов массива A: ', sumA); Writeln('Сумма диагональных элементов массива B: ', sumB); Writeln('Сумма диагональных элементов массива C: ', sumC); Writeln('Общая сумма диагональных элементов трех массивов: ', totalSum); end.

Программа запрашивает у пользователя размеры и элементы трех массивов, вычисляет сумму диагональных элементов каждого массива и выводит результаты на экран.

Обратите внимание, что в примере используется тип TwoDimArray, который представляет двумерный массив с максимальными размерами 100x100. Вы можете изменить значение константы MAX_SIZE и использовать большие или меньшие размеры массивов, в зависимости от ваших потребностей.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос