
Pascal. Написать программу, которая позволяет транспонировать матрицу. Размерность вводится с
клавиатуры, значения случайные числа от -10 до 10.

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

Ответ:
program mtr1;
const N=10;
type iint:1..10;
matrix: array [iint,iint] of integer;
var a: matrix;
i,j: iint;
m:iint;
v:integer;
begin
readln (m);
randomize;
(* заполнение матрицы *)
for i:=1 to m do
for j:=1 to m do
a[i,j] := random(21)-10;
for i:=1 to m do
for j:=i to m do
begin
if i=j then
continue;
v:= a[i,j];
a[i,j] := a[j,i];
a[j,i] := v;
end;
for i:=1 m do
begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
end;
end.
Объяснение:



Конечно, вот пример программы на языке Pascal, который транспонирует матрицу. Для генерации случайных чисел можно использовать встроенную функцию Random
:
pascalprogram TransposeMatrix; const MAX_DIMENSION = 10; MIN_VALUE = -10; MAX_VALUE = 10; type Matrix = array [1..MAX_DIMENSION, 1..MAX_DIMENSION] of Integer; procedure GenerateRandomMatrix(var A: Matrix; n, m: Integer); var i, j: Integer; begin for i := 1 to n do for j := 1 to m do A[i, j] := Random(MAX_VALUE - MIN_VALUE + 1) + MIN_VALUE; end; procedure PrintMatrix(const A: Matrix; n, m: Integer); var i, j: Integer; begin for i := 1 to n do begin for j := 1 to m do Write(A[i, j]:4); Writeln; end; end; procedure Transpose(var A: Matrix; n, m: Integer); var i, j, temp: Integer; begin for i := 1 to n do for j := i + 1 to m do begin temp := A[i, j]; A[i, j] := A[j, i]; A[j, i] := temp; end; end; var matrix: Matrix; numRows, numCols: Integer; begin Randomize; Write('Введите количество строк: '); Readln(numRows); Write('Введите количество столбцов: '); Readln(numCols); if (numRows > 0) and (numRows <= MAX_DIMENSION) and (numCols > 0) and (numCols <= MAX_DIMENSION) then begin GenerateRandomMatrix(matrix, numRows, numCols); Writeln('Исходная матрица:'); PrintMatrix(matrix, numRows, numCols); Transpose(matrix, numRows, numCols); Writeln('Транспонированная матрица:'); PrintMatrix(matrix, numCols, numRows); end else Writeln('Неверные размеры матрицы.'); end.
Скопируйте этот код в среду разработки Pascal, такую как Free Pascal, и выполните его. Программа предложит вам ввести количество строк и столбцов для матрицы, а затем сгенерирует случайные значения и выведет исходную и транспонированную матрицы.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







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