Реши задачу Задан числовой массив, состоящий из 14 элементов. Найдите произведение всех отрицательных элементов, больших минимального
Реши задачу
Задан числовой массив, состоящий из 14 элементов. Найдите произведение всех отрицательных элементов, больших минимального
Ответ(ы) на вопрос:
Гость
1. Современный вариант
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
const
n=14;
begin
var a:=ArrRandom(n,-50,50); a.Println;
var min:=a.Min;
var b:=a.Where(x->(x>min) and (x<0));
if b.Count>0 then Writeln('Искомое произведение равно ',
b.Aggregate(1.0,(p,x)->p*x))
else Writeln('Нет отрицательных чисел, меньших минимального')
end.
Тестовое решение:
44 -35 -10 43 -25 -32 -32 -43 4 -50 29 -7 42 3
Искомое произведение равно -2696960000
2. Школьный вариант
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
const
n=14;
var
i,min,k:integer;
a:array[1..n] of integer;
p:real;
begin
Randomize;
min:=100; // любое, большее максимального 50
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ');
if a[i]min) and (a[i]<0) then begin
p:=p*a[i]; Inc(k)
end;
if k>0 then Writeln('Искомое произведение равно ',p)
else Writeln('Нет отрицательных чисел, меньших минимального')
end.
Тестовое решение:
40 49 27 -14 -34 -45 -41 -23 50 1 40 -18 -27 -20
Искомое произведение равно -4362996960
Не нашли ответ?
Похожие вопросы