40 ! паскаль, информатика 1) дан массив из 10-ти случайных чисел. напечатать его и определить сумму элементов, стоящих на нечетных местах. 2) дан массив из 10-ти случайных чисел. напечатать его и определить, есть ли в массиве два соседних четных элемента
n=10;
var
x:array[1..n] of integer;
i,s:integer;
found:boolean;
begin
{ инициализация массива }
Randomize;
Writeln('Элементы массива');
for i:=1 to n do
begin
x[i]:=Random(50);
Write(x[i]:3);
end;
Writeln;
{ задание 1 }
s:=0; i:=1;
while i<=n do
begin s:=s+x[i]; i:=i+2 end;
Writeln('Cумма элементов на нечетных местах равна ',s);
{ задание 2 }
for i:=1 to n-1 do
begin
found:=(x[i] mod 2 = 0) and (x[i+1] mod 2 = 0);
if found then break
end;
if found then Writeln ('Пара соседних четных элементов: ',x[i],', ',x[i+1])
else Writeln('Нет пары соседних четных элементов')
end.
Тестовое решение:
Элементы массива
3 11 42 38 36 47 8 15 15 13
Cумма элементов на нечетных местах равна 104
Пара соседних четных элементов: 42, 38
var a:array[1..10] of integer;
i,n:integer;
begin
n:=0;
write ('Массив: ');
for i:=1 to 10 do
begin
a[i]:=random(10);
if i mod 2 <> 0 then n:=n+a[i];
end;
for i:=1 to 10 do
begin
write (a[i],' ');
end;
writeln;
writeln ('Сумма элементов стоящих на нечётных местах = ',n);
end.
2)
var a:array[0..10] of integer;
i,n:integer;
begin
n:=0;
write ('Массив: ');
for i:=1 to 10 do
begin
a[i]:=random(10);
write (a[i],' ');
end;
repeat
i:=1;
if (a[i] mod 2 = 0) and (a[i-1] mod 2 =0) then n:=1;
i:=i+1;
until n=1;
WRITELN;
if n<>0 then writeln ('Есть') else writeln ('Нету');
end.