Вопрос задан 08.07.2023 в 22:30. Предмет Информатика. Спрашивает Слепченко Владислав.

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

клавиатуры, значения случайные числа от -10 до 10.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Касперская Анна.

Ответ:

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.

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на языке Pascal, который транспонирует матрицу. Для генерации случайных чисел можно использовать встроенную функцию Random:

pascal
program 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, и выполните его. Программа предложит вам ввести количество строк и столбцов для матрицы, а затем сгенерирует случайные значения и выведет исходную и транспонированную матрицы.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос