Дана квадратная матрица порядка n(n=5). Получить элементы массива x, равные среднему...

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

Дана квадратная матрица порядка n(n=5). Получить элементы массива x, равные среднему арифметическому чётных элементов очередного столбца.Паскаль


Информатика (58 баллов) | 94 просмотров
0

Если элементы массива надо проверять на четность, то очевидно, что эти элементы должны быть целыми. Среднее арифметическое целым быть не может. Т.е. поставленная задача в принципе не имеет решения. Можно, конечно, написать программу по этой постановке задачи, однако требуемые элементы НИКОГДА не будут найдены

0

Возможно, x - это новый массив, а не исходный?

0

Почему "Среднее арифметическое целым быть не может"? Вероятность того, что оно будет целым, особенно если все элементы массива целые, не так уж и мала. Например, для столбца со значениями 1, 6, 8, 3, 5 среднее арифметическое четных элементов равно 7.

Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.Net 3.0, сборка 1066

const
  n=5;
var
  a:array[1..n,1..n] of integer;
  x:array[1..n] of double;
  i,j,k:byte;
begin
  Randomize;
  Writeln('*** Исходный массив ***');
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=Random(51)-25;
      Write(a[i,j]:4)
      end;
    Writeln
  end;
  Writeln('*** Массив x ***');
  for j:=1 to n do begin
    x[j]:=0; k:=0;
    for i:=1 to n do
      if a[i,j] mod 2=0 then begin
        x[j]:=x[j]+a[i,j]; Inc(k)
      end;
    if k>0 then x[j]:=x[j]/k;
    Write(x[j]:0:5,' ')
    end;
  Writeln
end.

Тестовое решение:
*** Исходный массив ***
 -10  18  -8 -15   5
 -21 -18   6  -2   9
  -7  22  -4   3  14
  21  16 -10 -18  -9
  17   3 -14 -18  12
*** Массив x ***
-10.00000 9.50000 -6.00000 -12.66667 13.00000

(142k баллов)
0

Кстати, из пяти элементов три оказались целыми....

0

Здесь имелось в виду, что целым переменным нельзя присваивать вещественные значения, даже если деление выполняется без остатка. Например, если

0

var k:integer; то k:=14/2 будет ошибкой

0

Ну это-то бесспорно!

0 голосов

Для задачи, в которой x - это одномерный массив, который надо получить, программа - в прилагаемом файле.


Скачать вложение Текст (TXT)
(194k баллов)