kiravalter1998697
?>

Составьте программу которая заполняет массив b случайными целыми числами в диапазоне от 1 до 10 и находиь произведение элементов с нечетными значениями и количество элементов с четными значениями

Информатика

Ответы

геннадиевна2001
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!

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
Marina281
Var
    n, k, i, imax, j: integer;
    a: array[1..100]of integer;

begin
    randomize;
    n := random(30) + 10;
    for i := 1 to n do
    begin
        a[i] := Random(30);
        write(a[i], ' ');
    end;
    writeln();
   
    {сортировочка}
    for i := 1 to n - 1 do
    begin
        imax := i;
        for j := i + 1 to n do
            if a[j] > a[imax] then
                imax := j;
        k := a[i];
        a[i] := a[imax];
        a[imax] := k;
    end;
   
    for i := 1 to n do
        write(a[i], ' ');
   
    k := 0;
    for i := 2 to n - 1 do
        if (a[i] <> a[i - 1]) and (a[i] <> a[i + 1]) then
            k := k + 1;
   
    if a[1] <> a[2] then k := k + 1;
    if a[n] <> a[n - 1] then k := k + 1;
   
    writeln();
    writeln('No doubles - ', k);
end.
игнатова_Сергей1228

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 и находиь произведение элементов с нечетными значениями и количество элементов с четными значениями
Ваше имя (никнейм)*
Email*
Комментарий*