Даны три квадратные матрицы вещественных чисел - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Даны три квадратные матрицы вещественных числе A, N<=10 и B, М<=20,С,L<=30,. В той матрице, где минимальный элемент над побочной диагональю(диагональ не включая) наибольший,переставить местами четные и нечетные столбцы, а также упорядочить последний(уже в измененной матрице) столбец по убыванию Вывести- исходные матрицы, минимальные элементы, и измененную матрицу,в задаче использовать и функции, и процедуры Я сделала , но у меня она не выводит матрицы Помогите пожалуйста, очень важно

Решение задачи: «Даны три квадратные матрицы вещественных чисел»

textual
Листинг программы
program one;
 
type
 
mas = array[1..30, 1..30] of real;
 
var
 
A: mas;
 
B: mas;
 
C: mas;
 
N, M, L, i, j: integer;
 
procedure vvod(var matrix: mas; u: integer);
 
var
 
i, j: integer;
 
begin
 
for i := 1 to u do
 
begin
 
for j := 1 to u do
 
begin
 
matrix[i, j] := random(10);
 
end;
 
end;
 
end;
 
procedure vivod(matrix: mas; u: integer);
 
var
 
i, j: integer;
 
begin
 
for i := 1 to u do
 
begin
 
for j := 1 to u do
 
begin
 
write( matrix[i, j], ' ' );
 
end;
 
writeln
 
end;
 
end;
 
function minimum( matrix: mas; u: integer): real;
 
var
 
i, j: integer; 
 
min: real;
 
begin
 
min := matrix[1, 1]; 
 
for i := 1 to u do 
 
begin
 
for j := 1 to u-j do 
 
begin
 
if matrix[i, j] < min
 
then min := matrix[i, j]; 
 
end; 
 
end; 
 
minimum := min; 
 
end;
 
procedure obmen(var matrix: mas; u: integer);
 
var
 
p, i, j: integer;
 
buf: real;
 
begin
 
i := 1;
 
p := n - 2;
 
begin
 
while i <= 1 do
 
for j := 1 to u do
 
begin
 
buf := matrix[i, j];
 
matrix[i, j] := matrix[i + 1, j];
 
matrix[i + 1, j] := buf;
 
i := i + 2;
 
end;
 
end;
 
write(matrix);
 
writeln;
 
end;
 
procedure por(var matrix: mas; u: integer);
 
var
 
i, j: integer; 
 
buf: real;
 
begin
 
i := u;
 
for j := 1 to u do
 
begin
 
if matrix[i, j] < matrix[i, j + 1]
 
then 
 
begin
 
buf := matrix[i, j];
 
matrix[i, j] := matrix[i, j + 1];
 
matrix[i, j + 1] := buf;
 
end;
 
end;
 
write(matrix);
 
writeln
 
end;
 
begin
 
writeln('введите N, M, L');
 
readln(N);
 
readln(M);
 
readln(L);
 
 
 
vvod(A, N);
 
vivod(A, N);
 
writeln('<br>');
 
vvod(B, M);
 
vivod(B, M);
 
writeln('<br>');
 
vvod(C, L);
 
vivod(C, L);
 
writeln('minA=', minimum(A, N) );
 
writeln('minB=', minimum(B, M) );
 
writeln('minC=', minimum(C, L));
 
 
 
begin
 
if (minimum(A, N) > minimum(B, M)) and (minimum(A, N) > minimum(C, L)) 
 
then
 
begin
 
obmen(A, N);
 
por(A, N);
 
vivod(A, N);
 
end;
 
 
 
 
 
begin
 
if (minimum(B, M) > minimum(A,N)) and (minimum(B,M) > minimum(C, L)) 
 
then
 
begin
 
obmen(B,M);
 
por(B,M);
 
vivod(B,M);
 
end;
 
 
 
 
 
begin
 
if (minimum(C,L) > minimum(B, M)) and (minimum(C,L) > minimum(A,N)) 
 
then
 
begin
 
obmen(C,L);
 
por(C,L);
 
vivod(C,L);
 
end;
 
 
 
 
 
end;
 
end;
 
end;
 
end.

Объяснение кода листинга программы

  1. Ввод данных: N, M, L.
  2. Ввод матрицы A размером NxN.
  3. Вывод матрицы A.
  4. Ввод матрицы B размером MxM.
  5. Вывод матрицы B.
  6. Ввод матрицы C размером LxL.
  7. Вывод матрицы C.
  8. Нахождение минимального элемента в матрице A.
  9. Нахождение минимального элемента в матрице B.
  10. Нахождение минимального элемента в матрице C.
  11. Если минимальный элемент в матрице A больше, чем минимальный элемент в матрице B, и больше, чем минимальный элемент в матрице C, то выполняется процедура obmen для матрицы A.
  12. Вывод матрицы A.
  13. Если минимальный элемент в матрице B больше, чем минимальный элемент в матрице A, и больше, чем минимальный элемент в матрице C, то выполняется процедура obmen для матрицы B.
  14. Вывод матрицы B.
  15. Если минимальный элемент в матрице C больше, чем минимальный элемент в матрице A, и больше, чем минимальный элемент в матрице B, то выполняется процедура obmen для матрицы C.
  16. Вывод матрицы C.
  17. Все процедуры выполнены, и если условие не выполнено, то программа завершается.
  18. Цикл по пунктам 11-16 выполняется до тех пор, пока условие не будет выполнено.
  19. Выполняется процедура por для матрицы, у которой найдено минимальное значение.
  20. Вывод матрицы, для которой была выполнена процедура por.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.636 из 5
Похожие ответы