Cоставить алгоритм и программу для:1)Заполнения лвумерного массива (6x4) произвольными...

0 голосов
44 просмотров

Cоставить алгоритм и программу для:
1)Заполнения лвумерного массива (6x4) произвольными значениями и вывода его на экран!
2)Подсчета произведения элементов по строкам и вывода на экран номеров строк и соответствующих произведений элементов!
3)Нахождения строки с максимальным произведением элементов и вывода на экран ее номера (номеров) и произведения элементов!
4) Выделения 1-го столбца в отдельный массив и сортировки его по возврастанию методом прямого выбора


Информатика (56 баллов) | 44 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Const
  m = 6;
  n = 4;

var
  a: array[1..m, 1..n] of integer;
  b: array[1..m] of integer;
  i, j, p, pmax, imax: integer;
  flag: boolean;

begin
  {1}
  Randomize;
  writeln('Исходный массив');
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i, j] := Random(81) - 40;
      write(a[i, j]:4)
    end;
    writeln
  end;
  {2}
  writeln('Произведения построчно');
  for i := 1 to m do
  begin
    p := 1;
    for j := 1 to n do p := p * a[i, j];
    writeln(i, ': ', p:9)
  end;
  {3}
  pmax := -MaxInt;
  writeln('Максимальное построчное произведение'); 
  for i := 1 to m do
  begin
    p := 1;
    for j := 1 to n do p := p * a[i, j];
    if pmax < p then
    begin
      pmax := p;
      imax := i;
    end
  end;
  writeln(imax, ': ', pmax:9);
  {4}
  for i := 1 to m do b[i] := a[i, 1];
  for i := 2 to m do
  begin
    p := b[i];
    j := i - 1;
    flag := False;
    while (j > 0) and (not flag) do
      if p < b[j] then
      begin
        b[j + 1] := b[j];
        j := j - 1
      end
      else flag := True;
    b[j + 1] := p
  end;
  writeln('Отсортированный первый столбец');
  for i := 1 to m do writeln(b[i]:3)
end.

Тестовое решение:

Исходный массив
 -27   4   3  14
  15  40 -39 -27
  40 -40 -40 -24
 -38   7  18   1
  17  27  29  -9
  10 -32  38   0
Произведения построчно
1:     -4536
2:    631800
3:  -1536000
4:     -4788
5:   -119799
6:         0
Максимальное построчное произведение
2:    631800
Отсортированный первый столбец
-38
-27
 10
 15
 17
 40


(142k баллов)