М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
natalyakuznecova81
natalyakuznecova81
21.05.2022 15:13 •  Информатика

Написать программу на Pascal. Получить массив X1, X2, …, Xn по правилу Xi = 1, если сумма элементов i-го столбца матрицы больше их произведения, иначе Xi = 0. Найти также среднее арифметическое всех элементов матрицы.

👇
Ответ:
piece0fcake
piece0fcake
21.05.2022
Конечно! Вот решение задачи на Pascal:

```pascal
program MatrixCalculations;

const
n = 3; // размерность матрицы

var
matrix: array[1..n, 1..n] of Integer; // объявляем матрицу
X: array[1..n] of Integer; // объявляем массив X1, X2, ..., Xn
sum, product, average: Real; // объявляем переменные для хранения суммы, произведения и среднего арифметического

procedure FillMatrix;
var
i, j: Integer;
begin
// Заполняем матрицу случайными значениями от 0 до 9
for i := 1 to n do
begin
for j := 1 to n do
begin
matrix[i, j] := Random(10);
end;
end;
end;

procedure PrintMatrix;
var
i, j: Integer;
begin
// Выводим матрицу на экран
for i := 1 to n do
begin
for j := 1 to n do
begin
Write(matrix[i, j], ' ');
end;
Writeln;
end;
end;

procedure CalculateArray;
var
i, j: Integer;
begin
// Вычисляем массив X1, X2, ..., Xn по заданному правилу
for i := 1 to n do
begin
sum := 0; // обнуляем сумму перед каждым использованием
product := 1; // обнуляем произведение перед каждым использованием
for j := 1 to n do
begin
sum := sum + matrix[j, i]; // считаем сумму элементов i-го столбца
product := product * matrix[j, i]; // считаем произведение элементов i-го столбца
end;
if sum > product then
X[i] := 1 // присваиваем 1, если сумма больше произведения
else
X[i] := 0; // присваиваем 0, если сумма меньше или равна произведению
end;
end;

procedure CalculateAverage;
var
i, j: Integer;
begin
sum := 0; // обнуляем сумму перед каждым использованием
for i := 1 to n do
begin
for j := 1 to n do
begin
sum := sum + matrix[i, j]; // считаем сумму всех элементов матрицы
end;
end;
average := sum / (n * n); // вычисляем среднее арифметическое
end;

begin
Randomize; // инициализируем генератор случайных чисел
FillMatrix; // заполняем матрицу случайными значениями
Writeln('Исходная матрица:');
PrintMatrix; // выводим матрицу на экран

CalculateArray; // вычисляем массив X1, X2, ..., Xn
Writeln('Массив X1, X2, ..., Xn:');
for i := 1 to n do
begin
Write(X[i], ' ');
end;
Writeln;

CalculateAverage; // вычисляем среднее арифметическое
Writeln('Среднее арифметическое всех элементов матрицы:', average:0:2);
end.
```

В данной программе мы объявляем и инициализируем матрицу `matrix` размером `n` на `n`. Затем заполняем ее случайными значениями от 0 до 9 с помощью процедуры `FillMatrix`.

Далее, с использованием процедуры `PrintMatrix`, выводим матрицу на экран, чтобы проверить правильность заполнения.

Затем, с помощью процедуры `CalculateArray`, вычисляем массив `X1, X2, ..., Xn` по указанному правилу. В этой процедуре мы проходимся по каждому столбцу матрицы, считаем сумму и произведение его элементов, и присваиваем соответствующему элементу массива `X` значение 1, если сумма больше произведения, и 0 в противном случае.

После этого, с помощью процедуры `CalculateAverage`, мы вычисляем среднее арифметическое всех элементов матрицы. Мы проходимся по каждому элементу матрицы и суммируем их значения, а затем делим эту сумму на общее количество элементов матрицы.

Наконец, выводим массив `X1, X2, ..., Xn` и среднее арифметическое всех элементов матрицы на экран.

Эта программа поможет найти массив `X1, X2, ..., Xn` и среднее арифметическое всех элементов матрицы, основываясь на заданных правилах.
4,6(84 оценок)
Проверить ответ в нейросети
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ