const n=20;
var a:array [1..n] of integer;
i,max,maxi,min,mini:integer;
begin
write('Массив: ');
for i:= 1 to n do
begin
a[i]:=random(101)+50;
write (a[i],' ')
end;
max:=a[1];
maxi:=1;
min:=a[1];
mini:=1;
for i:= 1 to n do
begin
if a[i]>max then
begin
max:=a[i];
maxi:=i
end;
if a[i]<min then
begin
min:=a[i];
mini:=i
end
end;
writeln;
writeln('Максимальный элемент ',max,' и его номер ',maxi);
writeln('Минимальный элемент ',min,' и его номер ',mini)
end.
Или (если max или min элемент будет не один)
const n=20;
var a:array [1..n] of integer;
i,max,min:integer;
begin
write('Массив: ');
for i:= 1 to n do
begin
a[i]:=random(101)+50;
write (a[i],' ')
end;
max:=a[1];
min:=a[1];
for i:= 1 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i]
end;
writeln;
for i:= 1 to n do
begin
if a[i]=max then writeln('Максимальный элемент ',max,' и его номер ',i);
if a[i]=min then writeln('Минимальный элемент ',min,' и его номер ',i)
end
end.
Поделитесь своими знаниями, ответьте на вопрос:
Составьте программу которая заполняет массив b случайными целыми числами в диапазоне от 1 до 10 и находиь произведение элементов с нечетными значениями и количество элементов с четными значениями
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(8,1,10); a.Println;
Writeln('Произведение нечетных элементов ',
a.Where(x->x.IsOdd).Aggregate(1,(x,y)->x*y));
Writeln('Количество четных элементов ',
a.Where(x->x.IsEven).Count)
end.
Пример
9 10 10 5 8 3 5 2
Произведение нечетных элементов 675
Количество четных элементов 4