В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
divergent01
divergent01
14.04.2023 00:58 •  Информатика

Дана матрица a[1..n,1..m] целых чисел. напишите программу, которая переставит столбцы матрицы а таким образом, чтобы элементы последней строки стали в убывающем порядке. для упорядочивания использовать метод сортировки посредством выбора и не использовать дополнительную матрицу. измененную матрицу вывести на экран.

Показать ответ
Ответ:
ruskei
ruskei
08.09.2020 22:48
//PascalABC.Net 3.2
var m, n: integer;
a: array of array of integer;

procedure zam(a1, b1: integer);
begin
for var i:=0 to n-1 do
begin
a[i][a1]+=a[i][b1];
a[i][b1] :=a[i][a1]-a[i][b1];
a[i][a1]-=a[i][b1];
end;
end;

procedure sortSelekt ();
var max: integer;
begin
for var i:=0 to m-1 do
begin
max:=i;
for var j:=i to m-1 do
if a[n-1][max]<a[n-1][j] then max:=j;
if i<>max then zam (i, max);
end;
end;

procedure printMAS ();
begin
for var i:=0 to n-1 do
begin
for var j:=0 to m-1 do write (a[i][j]:4);
writeln;
end;
end;

begin
n:=readinteger('n =');
m:=readinteger('m =');
setLength (a, n);
for var i:=0 to n-1 do
a[i]:=arrRandom (m, -99, 99);

writeln ('Первоначальная случайная матрица: ');
printMAS();
sortSelekt ();
writeln ('Измененная матрица: ');
printMAS();
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота