Вопрос задан 31.07.2023 в 02:06. Предмет Информатика. Спрашивает Коновалов Дмитрий.

Написать программу ,которая с клавиатуры запрашивает размер двумерного массива найти и вывести на

экран сумму значений элементов расположенных в левом верхнем углу матрицы и правом нижним???Pascal
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Моргенштерн Лиза.
Осталось понять что подразумевалось под словом угол.
Ну допустим что угол это одна самая угловая ячейка

var
a: array [1..20,1..20] of Integer ;
i,j,n,sum:Integer;
begin
Writeln('Введмте размер двумерного массива (2<=n<=20)');
ReadLn(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=Random(20);
Write(a[i,j]:3);
end;
WriteLn();
end;
sum:=a[1,1]+a[n,n];
WriteLn('Сумма значений элементов расположенных в левом верхнем и в правом нижнем углах = ', sum);
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Чтобы написать программу на Pascal, которая запрашивает размер двумерного массива, находит и выводит сумму значений элементов, расположенных в левом верхнем и правом нижнем углах матрицы, можно воспользоваться следующим кодом:

pascal
program SumOfCorners; const MAX_SIZE = 100; type TwoDArray = array[1..MAX_SIZE, 1..MAX_SIZE] of integer; var matrix: TwoDArray; rows, cols, i, j, sumUpperLeft, sumLowerRight: integer; procedure ReadMatrix(var matrix: TwoDArray; rows, cols: integer); var i, j: integer; begin writeln('Введите элементы матрицы:'); for i := 1 to rows do begin for j := 1 to cols do begin read(matrix[i, j]); end; end; end; function CalculateSumUpperLeft(matrix: TwoDArray; rows, cols: integer): integer; var i, j, sum: integer; begin sum := 0; for i := 1 to rows div 2 do begin for j := 1 to cols div 2 do begin sum := sum + matrix[i, j]; end; end; Result := sum; end; function CalculateSumLowerRight(matrix: TwoDArray; rows, cols: integer): integer; var i, j, sum: integer; begin sum := 0; for i := rows div 2 + 1 to rows do begin for j := cols div 2 + 1 to cols do begin sum := sum + matrix[i, j]; end; end; Result := sum; end; begin writeln('Введите количество строк и столбцов для матрицы (не более ', MAX_SIZE, '):'); readln(rows, cols); if (rows <= 0) or (cols <= 0) or (rows > MAX_SIZE) or (cols > MAX_SIZE) then begin writeln('Ошибка: некорректный размер матрицы.'); exit; end; ReadMatrix(matrix, rows, cols); sumUpperLeft := CalculateSumUpperLeft(matrix, rows, cols); sumLowerRight := CalculateSumLowerRight(matrix, rows, cols); writeln('Сумма элементов левого верхнего угла: ', sumUpperLeft); writeln('Сумма элементов правого нижнего угла: ', sumLowerRight); end.

Обратите внимание, что в данной программе мы предполагаем, что размеры матрицы четные. Если вы хотите обрабатывать матрицы с нечетными размерами, тогда алгоритм подсчета суммы элементов углов следует изменить.

0 0

Похожие вопросы

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

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

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