Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
NektoOn
0 / 0 / 0
Регистрация: 07.02.2017
Сообщений: 15
1

Переставить местами две любые строки матрицы; два любых столбца матрицы.

20.02.2017, 13:45. Просмотров 882. Ответов 2
Метки нет (Все метки)

Дан Двумерный массив. Составить программу, которая:
а) переставляет две любые строки массива;
б) переставляет два любых столбца массива.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2017, 13:45
Ответы с готовыми решениями:

Переставить местами два заданных столбца матрицы
В матрице A переставить местами два заданных столбца. сonst n =...

Переставить строки матрицы в соответствии с возрастанием элементов первого столбца
Ввести матрицу A(m,n). Переставить строки матрицы в соответствии с возрастанием...

Переставить строки и столбцы матрицы таким образом, чтобы максимальный по модулю элемент был расположен на пересечении k-й строки и k-го столбца.
задана матрица размером M x N. Найти максимальный по модулю элемент...

Поменять местами две строки матрицы
Дан двумерный массив. Поменять местами первую и третью строки.

Поменять местами две строки квадратной матрицы
Здраствуйте. Мне нужна помощь при написании программы для изменения местами...

2
Alexandr212
94 / 91 / 110
Регистрация: 28.11.2016
Сообщений: 504
20.02.2017, 14:08 2
Лучший ответ Сообщение было отмечено NektoOn как решение

Решение

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
var
  a: array [1..100, 1..100] of integer;
  i, j, k, n, m, n1, m1, n2, m2: integer;
 
begin
  randomize;
  {a)}  readln(n, m);
  for i := 1 to n
  do 
  begin
    for j := 1 to m
    do 
    begin
      A[i, j] := random(100);
      write(A[i,j], ' ');
    end;
    writeln;
  end;
  writeln('введите строки которые нужно поменять:');
  readln(n1, n2);
  for i := 1 to n
  do 
  begin
    swap(A[n1, i], A[n2, i])
  end;
  for i := 1 to n
  do 
  begin
    for j := 1 to m
    do 
    begin
      write(A[i,j], ' ');
    end;
    writeln;
  end;
  {b)}writeln('введите номера столбцов которые нужно поменять:');
  readln(m1, m2);
  for i := 1 to n
  do 
  begin
    swap(A[i, m1], A[i, m2])
  end;
  for i := 1 to n
  do 
  begin
    for j := 1 to m
    do 
    begin
      write(A[i,j], ' ');
    end;
    writeln;
  end;
end.
1
Puporev
Модератор
54680 / 42101 / 29069
Регистрация: 18.05.2008
Сообщений: 99,353
20.02.2017, 14:31 3
Лучший ответ Сообщение было отмечено bormant как решение

Решение

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
type mtr=array[1..10,1..10] of integer;
procedure matrix(var a:mtr;var m,n:integer);
var i,j:integer;
begin
randomize;
repeat
writeln('Введите размеры матрицы от 2 до 10');
readln(m,n);
until(m in [2..10])and(n in [2..10]);
for i:=1 to m do
for j:=1 to n do
a[i,j]:=random(50);
end;
procedure print(a:mtr;m,n:integer;s:string);
var i,j:integer;
begin
writeln(s);
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:3);
  writeln;
 end;
end;
procedure obmen(var a:mtr;m,n,k,s1,s2:integer);
var i,j,x:integer;
begin
case k of
1:for i:=1 to n do
   begin
    x:=a[s1,i];
    a[s1,i]:=a[s2,i];
    a[s2,i]:=x;
   end;
2:for i:=1 to m do
   begin
    x:=a[i,s1];
    a[i,s1]:=a[i,s2];
    a[i,s2]:=x;
   end;
end;
end;
var a:mtr;
    m,n,i,j,s1,s2:integer;
begin
randomize;
matrix(a,m,n);
print(a,m,n,'Исходная матрица');
repeat
writeln('Введите номера строк для обмена');
readln(s1,s2);
until(s1 in [1..m])and(s2 in [1..m])and(s1<>s2);
obmen(a,m,n,1,s1,s2);
print(a,m,n,'Обмен строк '+inttostr(s1)+' и '+inttostr(s2));
repeat
writeln('Введите номера столбцов для обмена');
readln(s1,s2);
until(s1 in [1..n])and(s2 in [1..n])and(s1<>s2);
obmen(a,m,n,2,s1,s2);
print(a,m,n,'Обмен столбцов '+inttostr(s1)+' и '+inttostr(s2));
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2017, 14:31

Дана матрица А.Составить программу сортировки по возрастанию столбцов. Переставить местами 1-ю и строки матрицы
Дана матрица NxM.Составить программу сортировки по возрастанию столбцов....

В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца
В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять...

Даны два числа k1 и k2 и матрица размера 4 x 10. Поменять местами строки матрицы с номерами k1 и k2
Даны два числа k1 и k2 и матрица размера 4 x 10. Поменять местами строки...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru