Предмет: Информатика, автор: cetrak

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

Ответы

Автор ответа: Аноним
0
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


Автор ответа: cetrak
0
Спасибо !!!!!!! Я поняла )))))))СПАСИБО
Похожие вопросы
Предмет: Українська мова, автор: harcevnikovzena503
1. Виділене слово є сполучником у реченні
А Та не злічить віків, що встигли вже пройти.
Б Добре тому ковалеві, що на обидві руки кує.
В Не писав я до тебе в останні два дні через те, що був у дорозі.
Г О, як потрібно вміти дорожити безцінним спадком, що дали віки.
Д Беруть на кпини молоді міста прапращурів, що вийшли з неоліту.
2. Установіть відповідність.
1.означальне А Народ, що не знає своєї історії, є народом сліпців.
2 з’ясувальне Б Я сідаю на горбик зігрітий, щоб ключі журавлині зустріти.
3 обставинне наслідку В Струни чекають, щоб пальці торкнулись до них.
4 обставинне мети Г Дарма що сніг хрумкотить під ногами, але весна своє бере.
Д Дощ тут випав менший, так що ледве прибив пилюку.




3. Визначити вид підрядності:
Розкажи, як за горою сонечко сідає, як у Дніпра веселочка воду позичає (Т.
Шевченко).
А однорідна Б послідовна В Неоднорідна
4. Визначити вид підрядності:
Епохо, дай мені завзяття на кожен день, на кожну мить, щоб міг нащадкам
розказать я про те, як ми навчились жить (М. Сингаівський).
А однорідна Б послідовна В Неоднорідна

5. Визначити вид підрядності:
Коли в тебе віра у працю згасає, поглянь на ту річку, що скелі зриває (Ю. Гойда).
6. У якому рядку складнопідрядне речення містить неоднорідні підрядні
частини?
А Коли музика затихла, хлопець відчув чудне заворушення, якусь глибоку
турботу, бо мотив завмер недокінчений (В. Підмогильний).
Б Я падаю в натоптані сіном санки, які виносить нас у широкий засніжений світ,
де у паморозі срібно туманіють верби.
В Через одчинені двері примітила, як марево грає над вербами, над городами, як
білі хмари пливуть по небі (І. Нечуй-Левицький).
7. Укажіть складнопідрядне речення, у якому НЕПРАВИЛЬНО визначено
тип підрядної частини.
А Самі слова на голос навертались, як сльози навертаються на очі. (Підрядна
означальна)
Б Навколо стояла така тиша, що чути було золотий дзвін переджнив’я. (Підрядна
міри і ступеню)
В Я дуже любив дивитись, як ткалось і вибілювалось полотно. (Підрядна
з’ясувальна)
Г Мені чути, як коні похрумкують молодою травицею, поволеньки, вдячно
ласують. (Підрядна з’ясувальна)

8. Укажіть складнопідрядне речення з кількома підрядними.
А Довелося самому взятися за зброю, щоб захистити рідний край.
Б Розчарування від звістки, що хтось уже отаборився в Холодній Балці, засмутило
зовсім чумацькі серця.
В Посеред майдану, де мене лишили радисти, я зупинився, не знаючи, куди
податися
Складнопідрядним є речення
А Звісно, матеріальні, душевні, духовні блага приносять задоволення, проте людина сама робить себе щасливою.

Б Виграючи розмаїттям кольорів на блакитному небосхилі, веселка в усі часи не давала спокою людській уяві.
В Про веселку складали легенди, її наділяли дивовижними властивостями
Г У скандинавських міфах веселку вважали мостом, який сполучає небо й землю
Предмет: Математика, автор: Татосик