Паскаль. Программа работает, но выдает не тот результат - вставляет заданное число на первое место и зачем-то меняет другими числами оставшиеся элементы массива. Что надо исправить?Условие: Вставить перед первым четным элементо...

Паскаль. Программа работает, но выдает не тот результат - вставляет заданное число на первое место и зачем-то меняет другими числами оставшиеся элементы массива. Что надо исправить? Условие: Вставить перед первым четным элементом массива заданное число. 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.
Гость
Ответ(ы) на вопрос:
Гость
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 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. Теперь должно работать
Не нашли ответ?
Ответить на вопрос
Похожие вопросы