
Помогите написать программу на языке Pascal по следующему заданию: Сформировать матрицу А по
правилу: , где и - минимальный и максимальный элементы произвольно заданной матрицы B размером 3x4

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

Ответ:
var A: array [1..4,1..3] of real;
var B: array [1..4,1..3] of integer;
var i,j,max,min: integer;
begin
max:=11;
min:=11;
randomize();
writeln('Произвольная матрица B 3x4:');
For i:= 1 to 4 do
begin
For j:= 1 to 3 do
begin
B[i,j]:=random(100);
if (B[i,j]<B[min div 10,min mod 10]) then min:=i*10+j;
if (B[i,j]>B[max div 10,max mod 10]) then max:=i*10+j;
write(B[i,j]:4);
end;
writeln();
end;
writeln('Максимальный элемент матрицы B: ',B[max div 10,max mod 10]);
writeln('Минимальный элемент матрицы B: ',B[min div 10,min mod 10]);
writeln('Матрица A:');
For i:= 1 to 4 do
begin
For j:= 1 to 3 do
begin
A[i,j]:=(2*B[i,j]+B[min div 10,min mod 10])/(B[max div 10,max mod 10]);
write(A[i,j]:7:3);
end;
writeln();
end;
end.




Для написания программы на языке Pascal, которая формирует матрицу А по указанному правилу, нам необходимо выполнить следующие шаги:
- Найти минимальный и максимальный элементы в матрице B.
- Создать матрицу А размером 3x4 и заполнить ее элементами по заданному правилу.
Ниже приведен полный код программы для выполнения этой задачи:
pascalprogram FormMatrixA; const RowsB = 3; // Количество строк в матрице B ColsB = 4; // Количество столбцов в матрице B RowsA = RowsB; // Количество строк в матрице A ColsA = ColsB; // Количество столбцов в матрице A type MatrixB = array[1..RowsB, 1..ColsB] of Integer; MatrixA = array[1..RowsA, 1..ColsA] of Real; procedure FindMinMax(const B: MatrixB; var minValue, maxValue: Integer); var i, j: Integer; begin minValue := B[1, 1]; maxValue := B[1, 1]; for i := 1 to RowsB do begin for j := 1 to ColsB do begin if B[i, j] < minValue then minValue := B[i, j]; if B[i, j] > maxValue then maxValue := B[i, j]; end; end; end; procedure FormMatrixA(const B: MatrixB; minValue, maxValue: Integer; var A: MatrixA); var i, j: Integer; begin for i := 1 to RowsA do begin for j := 1 to ColsA do begin A[i, j] := (minValue + maxValue) / 2.0; end; end; end; procedure PrintMatrix(const M: MatrixA); var i, j: Integer; begin for i := 1 to RowsA do begin for j := 1 to ColsA do begin write(M[i, j]:8:2, ' '); end; writeln; end; end; var B: MatrixB; A: MatrixA; minValue, maxValue: Integer; begin // Входные данные - заполнение матрицы B (можно сделать это вручную или случайным образом) // Например, для примера, заполним матрицу B случайными числами от 1 до 100. Randomize; for i := 1 to RowsB do begin for j := 1 to ColsB do begin B[i, j] := Random(100) + 1; end; end; // Вывод исходной матрицы B writeln('Исходная матрица B:'); PrintMatrix(B); // Нахождение минимального и максимального элементов в матрице B FindMinMax(B, minValue, maxValue); // Формирование матрицы A по правилу (minValue + maxValue) / 2 FormMatrixA(B, minValue, maxValue, A); // Вывод полученной матрицы A writeln('Матрица A:'); PrintMatrix(A); end.
Обратите внимание, что входные данные, т.е. матрица B, заполняется случайными значениями от 1 до 100 в приведенном примере. Вы можете изменить заполнение матрицы B по своему усмотрению или ввести значения вручную. Затем программа находит минимальное и максимальное значение в матрице B и формирует матрицу A, заполняя ее значениями (minValue + maxValue) / 2.0. Выводятся исходная матрица B и полученная матрица A.


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