
Вопрос задан 29.07.2023 в 09:14.
Предмет Информатика.
Спрашивает Константинопольский-Топский Кирилл.
Дан двумерный массив A(m,n). Получить линейный массив B(n) ,в котором B(i)- сумма элементов i-го
столбца массива A(m,n), при i, изменяющимся от 1 до m. Числа m, n и элементы массива A ввести с клавиатуры. На экран вывести элементы полученного массива B. Паскаль

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

Отвечает Зенков Александр.
PascalABC.NET 3.4.0, сборка 1671 от 31.05.2018
Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Cols.Select(col->col.Sum).ToArray;
Writeln('Массив сумм по столбцам');
b.Println
end.
Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Cols.Select(col->col.Sum).ToArray;
Writeln('Массив сумм по столбцам');
b.Println
end.




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи на языке программирования Паскаль (Pascal) можно воспользоваться следующим кодом. Программа позволит вам ввести значения m, n и элементы массива A с клавиатуры и выведет на экран массив B.
pascalprogram SumOfColumns; const MAX_SIZE = 100; // Максимальный размер массива type TArray = array[1..MAX_SIZE, 1..MAX_SIZE] of Integer; var A: TArray; B: array[1..MAX_SIZE] of Integer; m, n, i, j: Integer; procedure ReadMatrix(var matrix: TArray; rows, cols: Integer); begin writeln('Введите элементы массива A:'); for i := 1 to rows do for j := 1 to cols do readln(matrix[i, j]); end; procedure CalculateColumnSum(const matrix: TArray; rows, cols: Integer; var result: array of Integer); begin for j := 1 to cols do begin result[j] := 0; for i := 1 to rows do result[j] := result[j] + matrix[i, j]; end; end; procedure PrintArray(const arr: array of Integer; length: Integer); begin writeln('Результат:'); for i := 1 to length do writeln('B[', i, '] = ', arr[i]); end; begin // Ввод размерности массива writeln('Введите количество строк m:'); readln(m); writeln('Введите количество столбцов n:'); readln(n); // Проверка на допустимость размеров массива if (m <= 0) or (n <= 0) or (m > MAX_SIZE) or (n > MAX_SIZE) then begin writeln('Недопустимый размер массива. m и n должны быть положительными числами и не превышать ', MAX_SIZE); Exit; end; // Ввод элементов массива A ReadMatrix(A, m, n); // Вычисление суммы столбцов и заполнение массива B CalculateColumnSum(A, m, n, B); // Вывод результата PrintArray(B, n); end.
При запуске программы вам будет предложено ввести значения m и n (размеры массива), а затем элементы массива A. После этого программа вычислит суммы столбцов массива A и выведет их в виде массива B.


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

Информатика 23
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili