Допустим Pascal. На нем обычно ведется обучение.
IF x>7 then y:=x-3 else
IF x<-5 then y:=4*sqr(x) else
y:=5;
обозначим счетчики переменными kp(+) и km(-), так же возьмем переменную j:integer для осуществления цикла, так же необходим сам массив пусть будет a:array[1..20] of integer, содержит 20 элементов целого типа, приступим к набору программы.
var
j,km,kp:integer;
a:array[1..20] of integer;
begin
km:=0;kp:=0; {обнулим счетчики}
randomize; {запустим службу генерирования случайных чисел}
for j:=1 to 20 do
begin
a[j]:=random(100)-50; {заполним массив случайными числами}
writeln(' a[',j,']= ',a[j]); {напечатаем его}
end;
{далее перейдем к поиску элементов}
for j := 1 to 20 do
begin
if a[j]<0 then km:=km+1;
if a[j]>0 then kp:=kp+1;
end;
write('pologitel''nix: ',kp,'otricatel''nix: ',km);
readln;
end.
Выбирать из чего? Прикрепи фото
Program abc;
Const
n=3;
m=3;
Var a:array[1..n,1..m] of integer;
b,y,i,j,sum:integer;
srd:real;
Begin
Writeln('Введите числа массива: ');
For i:=1 to n do
For j:=1 to m do
Begin
Write('a[',i,',',j,']= ');
Readln(a[i,j]);
if a[i,j]>0 then
begin
sum:=sum+a[i,j];
inc(b);
end
else
If a[i,j]<0 then
Inc(y);
End;
If sum>0 then
begin
srd:=sum/b;
Writeln('Среднее =',srd);
end
else
Writeln('Нет положительных членов массива');
If y>0 then
begin
Writeln('Количество отрицательных элементов =',y);
end
else
Writeln('Нет отрицательных членов массива');
End.
{
Если что, часть программы не нужна для построения цепочки. Она просто иллюстрирует, что полученный результат верен.
}
var
sq : array[0..999] of array[0..9] of boolean;
co : array[0..999] of integer;
ar : array[1..10003] of 0..9;
i,j: integer;
x: integer;
t : boolean;
begin
for i := 0 to 999 do
begin
for j := 0 to 9 do
sq[i][j] := false;
co[i] := 0;
end;
for i := 1 to 3 do
ar[i] := 0;
i := 3;
t := true;
{write('000');}
while t do
begin
i := i + 1;
x := ar[i-3]*100 + ar[i-2]*10 + ar[i-1];
if co[x] >= 10 then t := false
else
begin
j := 1;
while sq[x][j] do
j := (j + 1) mod 10;
ar[i] := j;
sq[x][j] := true;
co[x] := co[x] + 1;
{write(j)}
end;
end;
{writeln;}
writeln('Length: ',i - 1);
{просто чтобы убедиться}
for i := 0 to 999 do
for j := 0 to 9 do
sq[i][j] := false;
t := true;
j := 0;
i := 1;
while (i <= 10000) and t do
begin
x := ar[i] * 100 + ar[i+1] * 10 + ar[i+2];
if sq[x][ar[i+3]] then t := false
else
begin
sq[x][ar[i+3]] := true;
j := j + 1;
end;
i := i + 1
end;
if t and (j = 10000) then
write('Confirmed')
<span>end.</span>