Паскаль. Программка работает, но выдает не тот итог - вставляет данное число на 1-ое
Паскаль. Программка работает, но выдает не тот результат - вставляет заданное число на первое место и зачем-то меняет другими числами оставшиеся элементы массива. Что надобно поправить?
Условие: Воткнуть перед первым четным элементом массива данное число.
program vstavka;
var i,n,k,z:integer;
a:array[1..1000] of integer;
begin
assign (input,'input.txt');
assign (output,'output.txt');
reset (input);
rewrite (output);
readln(n,z);
for i:=1 to n do read (a[i]);
i:=a[1];
for i:=1 to n do
if a[i] mod 2=0 then
begin
for k:=n+1 downto k+1 do
a[i]:=a[i-1];
a[k]:=z;
n:=n+1; break;
end;
for i:=1 to n do write(a[i],' ');
close (input);
close (output);
end.
var i,n,k,z:integer;
a:array[1..1000] of integer;
begin
assign (input,'input.txt');
assign (output,'output.txt');
reset (input);
rewrite (output);
readln(n,z);
for i:=1 to n do read (a[i]);
i:=a[1]; // что это? Устраняем
for i:=1 to n do
if a[i] mod 2=0 then
begin
k:= i;
for i:=n+1 downto k+1 do
a[k]:=a[k-1]; // вместо i берем k
a[k]:=z;
break;
end;
for i:=1 to n do write(OutPut, a[i]:4);
close (input);
close (output);
end.
Теперь обязано работать
-
Вопросы ответы
Статьи
Информатика
Статьи
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.
Химия.
Русский язык.
Разные вопросы.
Разные вопросы.
Математика.