Дана матрица целых чисел размером 5х6. переставить столбцы так,чтоб сумма их

Дана матрица целых чисел размером 5х6. переставить столбцы так,чтоб сумма их частей убывала

Задать свой вопрос
1 ответ
Const
m = 6;
n = 9;

type
R = record
sum: integer;
nom: integer
end;
vR = array[1..n] of R;
tm = array[1..m, 1..n] of integer;

function SumCol(a: tm; k: integer): integer;
Сумма элементов в k-м столбце (колонке) матрицы а
var
i, s: integer;
begin
s := 0;
for i := 1 to m do
s := s + a[i, k];
SumCol := s
end;

procedure Swp(var a, b: R);
Меняет местами элементы a и b
var
t: R;
begin
t := a; a := b; b := t
end;

procedure Shell(var a: vR);
сортировка способом Шелла по убыванию
var
i, j, step: integer;

begin
step := n div 2;
while step gt; 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i lt;= n - step do
begin
if a[i].sum lt; a[i + step].sum then Swp(a[i], a[i + step]);
i := i + step
end
end;
step := step div 2
end
end;

var
a, c: tm;
b: vR;
i, j: integer;

begin
Randomize;
Writeln(*** Исходные элементы массива ***);
for i := 1 to m do
begin
for j := 1 to n do
begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end;
Writeln
end;
формируем вектор сумм по столбцам
for j := 1 to n do
begin
b[j].sum := SumCol(a, j);
b[j].nom := j;
end;
сортируем приобретенный вектор по убыванию сумм
Shell(b);
исполняем перестановку во вспомогательный массив с
for j := 1 to n do
for i := 1 to m do c[i, j] := a[i, b[j].nom];
копируем содержимое вспомогательного массива с в массив а
Writeln(*** Результирующие элементы массива ***);
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i, j] := c[i, j];
Write(a[i, j]:4)
end;
Writeln
end
end.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
Анна хорошо учится у неё много подруг свободное от учёбы время

Обществознание.

10) Килограмм конфет дороже килограмма печенья на 52 р. За 8

Математика.

Во сколько раз число атомов кислорода в земной коре больше числа

Химия.

Составить монолог от имени дневника двоечника 7-10 предложений

Русский язык.

Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо

Разные вопросы.

Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных

Разные вопросы.

Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей

Математика.

Определить предложения какие они по цели высказывания и по интонации

Русский язык.

"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.

Русский язык.

на одной грядке коротышки посадили 3 ряда морковок по 8 штук

Разные вопросы.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт