// 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 then min:=a[i] end; Writeln; p:=1.0; k:=1; for i:=1 to n do 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
// 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 then min:=a[i]
end;
Writeln;
p:=1.0;
k:=1;
for i:=1 to n do
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
int cnt_min=0; int cnt_max=0;
for(int i=0; i<x; i++) cin >> d;
int d_max = digits[0];
for(int i=0; i<x; i++) { if(d_max < digit[i]) d_max = digit[i];}
int d_min = digits[0];
for(int i=0; i<x; i++) { if(d_min > digit[i]) d_min = digit[i];}
for(int i=0; i<x; i++) { if(d_max < digit[i]) d_max = digit[i];}
for(int i=0; i<x; i++) { if(d_max == digit[i]) cnt_max++;}
for(int i=0; i<x; i++) { if(d_min == digit[i]) cnt_min++;}
cout << "min= " << cnt_min << " max= " << cnt_max << endl;
вторая задача - подумай сам, она почти аналогичная