Преобразовать целочисленную матрицу размера N x M таким образом, чтоб строка
Конвертировать целочисленную матрицу размера N x M таким образом, чтоб строчка с номером K конкретно следовала за строчкой с номером Q, сохранив порядок следования других строк
Задать свой вопрос
Боря
Укажите язык программирования и версию.
Юлия
С++ пойдёт?
Асеев
Степка
Надобно поменять строку, последующую за Q, на строчку K, правильно?
Славян Шевернов
Либо поменять их местами?
1 ответ
Денис
// PascalABC.NET 3.3, сборка 1600 от 23.12.2017
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Начальная матрица ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (q,k):=ReadInteger2('Укажите номера строк q и k:');
Assert((klt;gt;q) and k.Between(1,n) and q.Between(1,n),'Неверная пара (q,k)');
k-=1; q-=1; // перебежали к индексам
var rk:=a.Row(k);
if klt;q then begin
for var r:=k+1 to q do a.SetRow(r-1,a.Row(r));
a.SetRow(q,rk)
end
else begin
for var r:=k-1 downto q+1 do a.SetRow(r+1,a.Row(r));
a.SetRow(q+1,rk)
end;
Writeln('*** Итог ***'); a.Println(4)
end.
Образцы
Количество строк и столбцов в матрице: 5 8
*** Исходная матрица ***
32 -6 -66 81 84 0 50 -83
93 5 90 -33 88 30 -5 85
-46 35 -22 74 -66 8 -3 -86
-23 -81 -82 30 -1 -71 28 19
0 -95 -30 -46 -24 -77 38 49
--------------------------------
Укажите номера строк q и k: 4 1
*** Итог ***
93 5 90 -33 88 30 -5 85
-46 35 -22 74 -66 8 -3 -86
-23 -81 -82 30 -1 -71 28 19
32 -6 -66 81 84 0 50 -83
0 -95 -30 -46 -24 -77 38 49
Количество строк и столбцов в матрице: 4 3
*** Начальная матрица ***
-68 53 -35
-83 78 -78
99 -4 -9
-86 11 -30
------------
Укажите номера строк q и k: 2 4
*** Результат ***
-68 53 -35
-83 78 -78
-86 11 -30
99 -4 -9
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Начальная матрица ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (q,k):=ReadInteger2('Укажите номера строк q и k:');
Assert((klt;gt;q) and k.Between(1,n) and q.Between(1,n),'Неверная пара (q,k)');
k-=1; q-=1; // перебежали к индексам
var rk:=a.Row(k);
if klt;q then begin
for var r:=k+1 to q do a.SetRow(r-1,a.Row(r));
a.SetRow(q,rk)
end
else begin
for var r:=k-1 downto q+1 do a.SetRow(r+1,a.Row(r));
a.SetRow(q+1,rk)
end;
Writeln('*** Итог ***'); a.Println(4)
end.
Образцы
Количество строк и столбцов в матрице: 5 8
*** Исходная матрица ***
32 -6 -66 81 84 0 50 -83
93 5 90 -33 88 30 -5 85
-46 35 -22 74 -66 8 -3 -86
-23 -81 -82 30 -1 -71 28 19
0 -95 -30 -46 -24 -77 38 49
--------------------------------
Укажите номера строк q и k: 4 1
*** Итог ***
93 5 90 -33 88 30 -5 85
-46 35 -22 74 -66 8 -3 -86
-23 -81 -82 30 -1 -71 28 19
32 -6 -66 81 84 0 50 -83
0 -95 -30 -46 -24 -77 38 49
Количество строк и столбцов в матрице: 4 3
*** Начальная матрица ***
-68 53 -35
-83 78 -78
99 -4 -9
-86 11 -30
------------
Укажите номера строк q и k: 2 4
*** Результат ***
-68 53 -35
-83 78 -78
-86 11 -30
99 -4 -9
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Определить предложения какие они по цели высказывания и по интонации
Русский язык.
"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.
Русский язык.
на одной грядке коротышки посадили 3 ряда морковок по 8 штук
Разные вопросы.
Облако тегов