
Saithinara
6 год назад
Сформировать массив произвольной длины заполненный вещественными числами в диапазоне от 1 до 100 найти и вывести на экран произведение всех элементов а также максимальное значение элементов
ОТВЕТЫ

Зосимович
Jul 10, 2019
1. Короткое современное решение
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger(n=);
var a:=SeqRandom(n,1000, 100000);
var b:=a.Select(x-gt;x/1000).ToArray; b.Println;
Writeln(П=,b.Aggregate(1.0,(p,q)-gt;p*q));
Writeln(Max=,b.Max)
end.
Пример
n= 10
64.006 47.819 87.225 6.856 32.112 93.963 11.053 50.93 18.959 14.785
П=871460676775803
Max=93.963
2. А так (примерно) учат в большинстве школ
const
nn=1000; // предел для кол-ва элементов
var
n,i:integer;
a:array[1..nn] of real;
max,p:real;
begin
Write(n=); Read(n);
p:=1;
max:=0; // меньше меньшего
for i:=1 to n do
begin
a[i]:=(Random(99001)+1)/1000;
Write(a[i], );
p:=p*a[i];
if a[i]gt;max then max:=a[i]
end;
Writeln;
Writeln(П=,p);
Writeln(Max=,max)
end.
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger(n=);
var a:=SeqRandom(n,1000, 100000);
var b:=a.Select(x-gt;x/1000).ToArray; b.Println;
Writeln(П=,b.Aggregate(1.0,(p,q)-gt;p*q));
Writeln(Max=,b.Max)
end.
Пример
n= 10
64.006 47.819 87.225 6.856 32.112 93.963 11.053 50.93 18.959 14.785
П=871460676775803
Max=93.963
2. А так (примерно) учат в большинстве школ
const
nn=1000; // предел для кол-ва элементов
var
n,i:integer;
a:array[1..nn] of real;
max,p:real;
begin
Write(n=); Read(n);
p:=1;
max:=0; // меньше меньшего
for i:=1 to n do
begin
a[i]:=(Random(99001)+1)/1000;
Write(a[i], );
p:=p*a[i];
if a[i]gt;max then max:=a[i]
end;
Writeln;
Writeln(П=,p);
Writeln(Max=,max)
end.
Так подойдет
const n=5;
var a,b: array[1..n] of single;
p: real;
m: single;
i: integer;
begin randomize;
m:=-0.1;
p:=1;
for i:=1 to n do begin;
a[i]:=random+random(1,99);
writeln (a[i]);
p:=p*a[i];
if a[i]gt;m then m:=a[i];
end;
writeln;
writeln (Произведение элементов = ,p);
writeln (Максимальный элемент = ,m);
end.
----------результат-------------
30.57125
58.69655
77.24072
21.7612
29.61645
Произведение элементов = 89328084.4036029
Максимальный элемент = 77.24072
const n=5;
var a,b: array[1..n] of single;
p: real;
m: single;
i: integer;
begin randomize;
m:=-0.1;
p:=1;
for i:=1 to n do begin;
a[i]:=random+random(1,99);
writeln (a[i]);
p:=p*a[i];
if a[i]gt;m then m:=a[i];
end;
writeln;
writeln (Произведение элементов = ,p);
writeln (Максимальный элемент = ,m);
end.
----------результат-------------
30.57125
58.69655
77.24072
21.7612
29.61645
Произведение элементов = 89328084.4036029
Максимальный элемент = 77.24072
282
Смежные вопросы: