Сформировать массив произвольной длины заполненный вещественными числами в диапазоне от 1 до 100 найти и вывести на экран произведение всех элементов а также максимальное значение элементов

Сформировать массив произвольной длины заполненный вещественными числами в диапазоне от 1 до 100 найти и вывести на экран произведение всех элементов а также максимальное значение элементов
Гость
Ответ(ы) на вопрос:
Гость
Так подойдет? 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]>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
Гость
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->x/1000).ToArray; b.Println;   Writeln('П=',b.Aggregate(1.0,(p,q)->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]>max then max:=a[i]     end;   Writeln;   Writeln('П=',p);   Writeln('Max=',max) end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы