Программа в pascal. При помощи генератора случайных чисел создать линейный числовой...

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

Программа в pascal. При помощи генератора случайных чисел создать линейный числовой массив состоящий из 15 элементов интервала -10:10 посчитать количество четных элементов массива,найти среднее арифметическое нечетных элементов, заменить все положительные элементы массива нулями,новый массив вывести на экран.


Информатика (232 баллов) | 54 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(15,-10,10); a.Println; // создали и вывели значения
  Writeln('Четных :',a.Where(n->n.IsEven).Count);
  Writeln('Ср.арифм. нечетных: ',a.Where(n->n.IsOdd).Average);
  a.Transform(n->n>0?0:n); a.Println // заменили и вывели значения
end.

Пример
6 -3 -9 -9 10 1 -1 -4 -6 5 7 8 4 -8 -3
Четных :7
Ср.арифм. нечетных: -1.5
0 -3 -9 -9 0 0 -1 -4 -6 0 0 0 0 -8 -3
(150k баллов)
0 голосов

Program n1;
const n=15;
var a: array[1..n] of integer;
kc,sum,kn,i: integer;
begin
randomize;
writeln('исходный массив:');
kc:=0;
sum:=0;
kn:=0;
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
kn:=kn+1;
sum:=sum+a[i];
end;
if a[i]>0 then a[i]:=0;
end;
writeln;
writeln('полученный массив:');
for i:=1 to n do write(a[i],' ');
writeln;
writeln('кол-во чет: ',kc);
writeln('кол-во нечет: ',kn);
writeln('срзнач неч: ',sum/kn);
end.

(149k баллов)