Есть ответ 👍

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

123
263
Посмотреть ответы 2

Ответы на вопрос:

Savi123
4,4(76 оценок)

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 > 0 do   begin       for j : = n - step downto 1 do       begin           i : = j;           while i < = n - step do           begin               if a[i].sum < 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. тестовое решение: *** исходные элементы массива ***   -27  13  13 -15    8  27  28  -1  32   44  36  20 -39  45 -46  29  18  36   -14 -36  -5  35  36 -14  24  31 -19   -42 -34 -44  40  50 -21 -17 -30  37   -38  22 -46    9 -14  42 -10    1  30   41 -41 -21  21  39 -45  18    4  -3 *** результирующие элементы массива ***     8  32  28 -15  -1 -27  13  27  13   45  36  29 -39  18  44  36 -46  20   36 -19  24  35  31 -14 -36 -14  -5   50  37 -17  40 -30 -42 -34 -21 -44   -14  30 -10    9    1 -38  22  42 -46   39  -3  18  21    4  41 -41 -45 -21

1) 1

2) 2

3) 4

4) 4

5) килобайт - 1024

мегабайт - 1048576

гигабайт - 1073741824

терабайт - 1099511627776

Популярно: Информатика