Добавление элемента в одномерный массив - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Условие: Сформировать массив a[1..n] случайным образом. Определить, содержит ли он заданное число. Если элемент найден, то вставить перед ним элемент вдвое больше найденного. Поиск осуществить методом линейного поиска. П.с.: я гуглил и пытался найти что-то похожее, но варианты со всякими там записями, процедурами, типизированными файлами не подходят. Нужно принципиально вставить сюда кусочек кода, который будет работать. без перечисленного мною. Я знаю, что применяется цикл down to (так сказала училка, что мол, он нужен), но как, куда, что я не разбираюсь, я запутался, буду рад помощи. Заранее спасибо. То, что у меня получилось, просто находит элемент, но ничего не добавляет. Вот сам код:

Решение задачи: «Добавление элемента в одномерный массив»

textual
Листинг программы
const n=10;
var a:array[1..n+1] of integer;
    i,k,nk:integer;
    f:boolean;
begin
 randomize;
 for i:=1 to n do
  begin
   a[i]:=random(11);
   write(a[i],' ')
  end;
 writeln;
 write('k=? ');readln(k);
 f:=false;i:=1;
 while (i<=n)and(not f) do
  begin
   if a[i]=k then begin nk:=i;f:=true end;
   inc(i)
  end;
 if f
  then begin
         i:=n+1;
         while i>nk do
          begin
           a[i]:=a[i-1];
           dec(i)
          end;
         a[i]:=2*k;
         for i:=1 to n+1 do write(a[i],' ')
        end
  else writeln('net elem = ',k)
end.

Оцени полезность:

13   голосов , оценка 4.462 из 5
Похожие ответы