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