Anya181818
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вот сама задача-Вставить два элемента: первый - после всех элементов, больших данного числа Р, а второй - перед всеми элементами, большими данного числа Р (Р вводить с клавиатуры). Не вставляет почему то 2 элемент который должен быть перед всеми элементами.. найдите пожалуйста ошибку!? uses crt; const nmax=90; var a:array[1..nmax] of integer; n,i,j,p,k,k2:integer; begin clrscr; randomize; repeat write('Размер массива до ',nmax div 3,' n='); readln(n); until n in [1..nmax div 3]; writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(50); write(a[i]:4); end; writeln; write('Введите элемент для сравнения P='); readln(p); write('Введите элемент для вставки K='); readln(k); write('Введите элемент для вставки k2='); readln(k2); i:=1; while i<=n do if a[i]>p then begin n:=n+1; for j:=n downto i+1 do a[j]:=a[j-1]; a[i]:=k; i:=i+2; n:=n+1; for j:=n downto i+1 do a[j]:=a[j-1]; a[i]:=k; i:=i+1 end else i:=i+1; writeln('Вставка ',k, ' после всех элементов ',p); writeln('Вставка ',k2, ' перед всеми элементами ',p); for i:=1 to n do write(a[i]:4); readln; end. |