0 / 0 / 0
Регистрация: 19.12.2016
Сообщений: 24
1

Транспонировать матрицу

20.03.2017, 19:47. Показов 1237. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте
В данной программе мне нужно, чтобы были процедуры и функции.
Транспонировать матрицу А(6х6). Транспонирование матрицы заключается в замене i-ых строк j-ыми столбцами.
Заранее спасибо)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
program matr;
Uses crt;
 
var n,i,j,p,k,H,i0,j0:integer;
    const nmax=6;
var a:array[1..nmax,1..nmax] of integer;
       Ch: char;
    label l1,l2;
    begin
 
begin
 
 randomize;
writeln('Задать размер матрицы 1-постоянный n=6 2-самостоятельно');
repeat
read(k);
until k in [1,2];
case k of
1:n:=6;
2:begin
  repeat
  write('Введите размер матрицы, четное число от 2 до ',nmax,' n=');
  read(n)
  until (n in [2..nmax]);
  end;
end;
writeln('Создать матрицу рандомно-1 или ввести с клавиатуры-2');
repeat
read(k);
until k in [1,2];
case k of
1:begin
randomize; 
writeln('Исходная матрица:');
for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        a[i,j]:=random(15);
        write(a[i,j]:4);
      end;
  writeln;
  end;
  end;
2:
begin
   writeln('Введите матрицу ');
   for i:=1 to n do
   for j:=1 to n do
    begin
     write('a[',i,',',j,']=');
     read(a[i,j]);
      end;
      begin
write(a[i,j],'');
writeln;
end;
clrscr;
   
  writeln('Исходная матрица');
  for i:=1 to nmax do 
  begin
    for j:=1 to nmax do write(a[i,j]:4);
      writeln; 
      end;
  end;
   end;
   
 
 
begin
repeat
  writeln('Введите номер строки и столбца');
  write('Строка-'); 
  readln(p);
if (p>n) then writeln('Неверно заданое число. Повторите ввод!');
until (p=n) or (p<n);
begin
repeat
  
  
  write('Столбец-');
  readln(k);
if (k>n) then writeln('Неверно заданое число. Повторите ввод!');
 until (k=n) or (k<n);
 
 writeln('Новая матрица:');
 for i:=1 to n
 do begin
  H:= A[p,i] ;
  
 A[p,i]:=A[i,k];
   A[i,k]:=H;
 end;
 for i:=1 to n do
  begin
    for j:=1 to n do
      begin
        write(a[i,j]:4);
      end;
  writeln;
  end;
  end;
  end;
 
 
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2017, 19:47
Ответы с готовыми решениями:

Транспонировать матрицу и вывести полученную матрицу на экран
1. Построить матрицу размером n на n. Заполнить каждую строку матрицы одинаковыми числами, равными...

Транспонировать матрицу
Транспонировать матрицу А(6х6). Транспонирование матрицы заключается в замене i-ых строк j-ыми...

Транспонировать матрицу
Привет всем. Решите пожалуйста. Скрин обрезан. Матрицу нужно вывести на экран.

Транспонировать заданую матрицу
Задана матрица A=\begin{pmatrix}2 &amp; 4 &amp; -6 &amp; 7.4\\\\ 4.5 &amp; -3 &amp; 5 &amp; 0\\\\ 9.7 &amp; 4.2 &amp; -3.8 &amp;...

1
101 / 97 / 112
Регистрация: 28.11.2016
Сообщений: 528
20.03.2017, 20:53 2
Опять жаловаться будете:
Цитата Сообщение от pol8842 Посмотреть сообщение
i-ых строк j-ыми столбцами
Если уж одной строки на один столбец, то так и пишите.

Добавлено через 14 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
program matr;
 
uses
  crt;
 
const
  nmax = 6;
 
type
  mas = array[1..nmax, 1..nmax] of integer;
 
var
  n, i, j, p, k, H, i0, j0: integer;
 
var
  a: mas;
  Ch: char;
 
procedure randomz(n: integer; var a: mas);
var
  i, j: integer;
begin
  randomize; 
  writeln('Исходная матрица:');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(15);
      write(a[i, j]:4);
    end;
    writeln;
  end;
end;
 
procedure vvod(n: integer; var a: mas);
var
  i, j: integer;
begin
  writeln('Введите матрицу ');
  for i := 1 to n do
    for j := 1 to n do
    begin
      write('a[', i, ',', j, ']=');
      read(a[i, j]);
    end;
  begin
    write(a[i, j], '');
    writeln;
  end;
  clrscr;
  
  writeln('Исходная матрица');
  for i := 1 to nmax do 
  begin
    for j := 1 to nmax do write(a[i, j]:4);
    writeln; 
  end;
end;
 
procedure vivod(n, p, k: integer; var a: mas);
var
  i, j, H: integer;
begin
  writeln('Новая матрица:');
  for i := 1 to n
        do 
  begin
    H := A[p, i];
    
    A[p, i] := A[i, k];
    A[i, k] := H;
  end;
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      write(a[i, j]:4);
    end;
    writeln;
  end;
end;
 
label l1, l2;
begin
  writeln('Задать размер матрицы 1-постоянный n=6 2-самостоятельно');
  repeat
    read(k);
  until k in [1, 2];
  case k of
    1: n := 6;
    2:
      begin
        repeat
          write('Введите размер матрицы, четное число от 2 до ', nmax, ' n=');
          read(n)
        until (n in [2..nmax]);
      end;
  end;
  writeln('Создать матрицу рандомно-1 или ввести с клавиатуры-2');
  repeat
    read(k);
  until k in [1, 2];
  case k of
    1: randomz(n, a);
    2: vvod(n, a);
  end;
  repeat
    writeln('Введите номер строки и столбца');
    write('Строка-'); 
    readln(p);
    if (p > n) then writeln('Неверно заданное число. Повторите ввод!');
  until (p = n) or (p < n);
  repeat
    write('Столбец-');
    readln(k);
    if (k > n) then writeln('Неверно заданное число. Повторите ввод!');
  until (k = n) or (k < n);
  vivod(n, p, k, a);
end.
0
20.03.2017, 20:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2017, 20:53
Помогаю со студенческими работами здесь

Заполнить матрицу случайными числами и транспонировать ее
Заполнить двумерный массив 3x4 случайными целыми числами в диапазоне от 30 до 90. Вывести...

Ту матрицу, где есть хотя бы одна гласная — транспонировать
Помогите пожалуйста Не успеваю сам по времени Даны три символьные матрицы. a) ту матрицу, где...

Описать процедуру Swap (x,y) меняющую содержимое переменных х и у. Транспонировать квадратную матрицу
Описать процедуру Swap (x,y) меняющую содержимое переменных х и у(х и y-вещественные...

Определить, на какой диагонали матрицы находится наибольшая сумма цифр. Транспонировать матрицу
заполнить двумерный массив (матрицу) разностью N*N (величина задана в разделе констант) случайными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru