Создать линейный массив из 15 элементов, заполнить числами интервала (-10;10). Вывести **...

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

Создать линейный массив из 15 элементов, заполнить числами интервала (-10;10). Вывести на экран. 1)посчитать количество четных элементов массива 2)найти среднее арифметическое нечетных элементов массива 3)заменить все положительные элементы массива нулями. Новый массив вывести на экран


Информатика (232 баллов) | 43 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Const
    N = 15;
Var A:array[1..N] of integer;
    i,Kc,Kn,Sn:integer;
Begin
Kc:=0;
Sn:=0;
Kn:=0;
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(21)-10;
    Write(' ',A[i]);
    if A[i] mod 2 = 0 then Kc:=Kc+1;
    if A[i] mod 2 <> 0 then
       Begin
       Sn:=Sn+A[i];
       Kn:=Kn+1;
       End;
    if A[i]>0 then A[i]:=0;
    End;
WriteLn;
WriteLn('Количество чётных: ',Kc);
WriteLn('Среднее арифметическое нечётных: ',Sn/Kn);
Write('Новый массив:');
For i:= 1 to N do
    Write(' ',A[i])
End.

Пример:
Исходный массив: -1 4 -8 9 -6 -10 0 3 9 -1 1 4 -2 -6 3
Количество чётных: 8
Среднее арифметическое нечётных: 3.28571428571429
Новый массив: -1 0 -8 0 -6 -10 0 0 0 -1 0 0 -2 -6 0

(34.0k баллов)
0 голосов

Main() {
  int mas = int[21];
  int i, k_chet;k_odd, sum_odd;
  for (i=-10; i<11; i++)<br>    mas[i+10] = i;
  k_chet = 0//*********************************1)
  for (i=0; i    if (mas[i]/2 = 0) k+chet++;
  k_odd=0; sum_odd=0//********************2)
  for (i=0; i    if (mas[i]/2 != 0) {
       k+odd++;
       sum_odd += mas[i];
     }
    sum_odd = sum_odd/k_odd;
   for (i=0; i     if (mas[i] > 0) mas[i] = 0;
     printf(mas[i],%s);
   }
}

(2.3k баллов)