procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для вычитания в нечётном элементе begin; a:=a-b; end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для сложения в чётном элементе begin; a:=a+b; end;
begin randomize; readln(a); //ввод a readln(b); //ввод b writeln('Array:'); for i:=1 to 10 do //весь массив begin; ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно write(ar[i]:4); //вывод if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a); {если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода} end; writeln; writeln('Final array:'); //вывод получившегося массива for i:=1 to 10 do write(ar[i]:4); end.
Пример ввода: 20 10 Пример вывода: Array: 10 16 0 60 23 4 22 -20 4 55 Final array: 0 36 -10 80 13 24 12 0 -6 75
Var a: array[1..100] of integer; i,n,bg,nd,s: integer; begin write('n = '); readln(n); randomize; bg:=0; nd:=0; for i:=1 to n do begin a[i]:=random(10); write(a[i],' '); if a[i]=0 then if (bg>0) and (nd=0) then nd:=i else if bg=0 then bg:=i; end; writeln; if bg+nd>1 then begin if (bg mod 2=0) then inc(bg) else bg:=bg+2; if (nd mod 2=0) then dec(nd) else nd:=nd-2; writeln('начало: ',bg,' конец: ',nd); s:=1; repeat s:=s*a[bg]; bg:=bg+2; until bg>nd; writeln('произведение: ',s); end else writeln(0); end.
var
i,a,b:integer;
ar:array[1..10] of integer;
procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для вычитания в нечётном элементе
begin;
a:=a-b;
end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для сложения в чётном элементе
begin;
a:=a+b;
end;
begin
randomize;
readln(a); //ввод a
readln(b); //ввод b
writeln('Array:');
for i:=1 to 10 do //весь массив
begin;
ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно
write(ar[i]:4); //вывод
if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a);
{если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода}
end;
writeln;
writeln('Final array:'); //вывод получившегося массива
for i:=1 to 10 do
write(ar[i]:4);
end.
Пример ввода:
20
10
Пример вывода:
Array:
10 16 0 60 23 4 22 -20 4 55
Final array:
0 36 -10 80 13 24 12 0 -6 75
i,n,bg,nd,s: integer;
begin
write('n = '); readln(n);
randomize;
bg:=0; nd:=0;
for i:=1 to n do
begin
a[i]:=random(10);
write(a[i],' ');
if a[i]=0 then
if (bg>0) and (nd=0) then nd:=i
else if bg=0 then bg:=i;
end;
writeln;
if bg+nd>1 then
begin
if (bg mod 2=0) then inc(bg)
else bg:=bg+2;
if (nd mod 2=0) then dec(nd)
else nd:=nd-2;
writeln('начало: ',bg,' конец: ',nd);
s:=1;
repeat
s:=s*a[bg];
bg:=bg+2;
until bg>nd;
writeln('произведение: ',s);
end
else writeln(0);
end.
n = 15
4 4 7 0 3 5 6 1 1 8 8 4 0 1 9
начало: 5 конец: 11
произведение: 144