Ребят, кто нибудь может написать программу транспонирования обычной матрицы из 9 чисел?...

0 голосов
25 просмотров

Ребят, кто нибудь может написать программу транспонирования обычной матрицы из 9 чисел?
Заранее спасибо


Информатика (2.5k баллов) | 25 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1192 от 07.03.2016
begin
  // инициализация
  var b:=MatrixRandom(3,3,10,99);
  // вывод
  Writeln('Исходная матрица');
  for var i:=0 to 2 do begin
    for var j:=0 to 2 do Write(b[i,j]:3);
    Writeln
    end;
  // транспонирование
  for var i:=0 to 2 do
    for var j:=i+1 to 2 do
      if i<>j then Swap(b[i,j],b[j,i]);
  // вывод
  Writeln('Транспонированная матрица');
  for var i:=0 to 2 do begin
    for var j:=0 to 2 do Write(b[i,j]:3);
    Writeln
    end
end.

Тестовое решение:
Исходная матрица
 48 30 15
 38 49 19
 21 15 41
Транспонированная матрица
 48 38 21
 30 49 15
 15 19 41

(142k баллов)
0 голосов

Const n=3;
var a:array[1..n,1..n] of integer;
i,j,c:integer;
begin
Randomize;
writeln('Исходная матрица:');
for i:= 1 to n do
  begin
 for j:=1 to n do
  begin
  a[i,j]:=random(10);
  write(a[i,j]:4);
  end;
 writeln;
 end;
for i:=1 to n do
  for j:=i+1 to n do
 begin c:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=c; end;
writeln('Транспонированная матрица:');
for i:=1 to n do
 begin
 for j:=1 to n do write(a[i,j]:4);
 writeln;
 end;
end.

Пример:
Исходная матрица:
   1   4   4
   8   3   9
   8   2   1
Транспонированная матрица:
   1   8   8
   4   3   2 
   4   9   1

(194k баллов)