МАССИВЫ, ПАСКАЛЬ. Условие:
Задать случайным образом массив из интервала -50;50
Найти:1)количество отрицательных элементов массива
2)сумму четных элементов
3)произведение элементов из интервала 1;20
var a:array[1..100] of integer;
i,n,b,c,d:integer;
begin
write('Введите количество чисел: ');
readln(n);
for i:=1 to n do
begin
a[i]:= random(-50,50);
if a[i]<0
then b:= b+1;
if (a[i] mod 2)= 0
then c:= c+a[i];
if (a[i]>=1) and (a[i]<=20)
then if d=0
then d:= 1*a[i]
else d:= d*a[i];
end;
writeln('Количество отрицательных элементов: ',b);
writeln('Сумма чётных элементов: ',c);
writeln('Произведение элементов в интервале 1-20: ',d);
end.
Ответы
Var k, i, n:Integer ;
A:array [1..100]of Integer ;
Begin
Write('Введите кол-во элементов в массиве ') ;
Read(n) ;
For i:=1 to N do begin
A[i]:=random(100)-50;
Write(' ', A[i]) ;
End;
K:=0;writeln;
Write ('кол-во отрицательных элементов ') ;
For i:=1 to N do begin
If A[i]<0 then k:=k+1;
End;
Write(k);k:=0;
Writeln;
Write ('сумма четных элементов ') ;
For i:=1 to N do begin
If A[i] mod 2=0 then k:=k+a[i];
End;
Write(k) ;k:=1;
Writeln ;
Write('произведение элементов в интервале [1;20] ');
For i:=1 to N do begin
If (a[i]>0)and(a[i]<21) then k:=k*a[i];
End;
Write(k) ;
End.
var
mas: array[0..19]of integer;
a, b, c, e: integer;
begin
for a := 0 to 19 do mas[a] := random(100) - 50;
//заполняем массив
for a := 0 to 19 do if mas[a] < 0 then b := b + 1;
//количество отрицательных элементов
for a := 0 to 19 do if mas[a] mod 2 = 0 then c := c + mas[a];
//сумму четных элементов
for a := 0 to 19 do
case mas[a] of
1..20: e := e + mas[a];
end;
//произведение элементов из интервала 1;20
write(b, ' ', c, ' ', e);
end.
пометки после двух слешей в программе писать не нужно , и сам массив я сделал на 20 элементов