Удаление и вставка элемента в одномерном массиве

Оригинал статьи: http://www.cyberforum.ru/pascal/thread133142.html
Благодарен всем авторам, которые внесли свой вклад в сборку кода.

Удалить все нулевые элементы из введенного пользователем массива.

 	 
	 var
   a:array[1..100] of integer;
   i,m,n:integer;
begin
 Write('Количество элементов массива=');
  readln(n);  
  writeln('Оригинал:');
  for i := 1 to n do
  begin
    a[i] := random(3);
    write(a[i]:3);
  end;
    Writeln;
 m:=0;
 for i:=1 to n do
  if (a[i]=0) then inc(m) else a[i-m]:=a[i]; 
 dec(n,m);  
 for i:=1 to n do
  write(a[i]:3); 

end.
   

Вставка элемента в одномерный массив

  
   var
   a:array[1..100] of integer;
   i,x,n,nom:integer;
begin
 Write('Количество элементов массива=');
  readln(n);  
  writeln('Оригинал:');
  for i := 1 to n do
  begin
    a[i] := random(10);
    write(a[i]:3);
  end;
    Writeln;
 write('Введите число, которое нужно вставить=');
 readln(x);
 write('Введите номер ячейки, в которую его надо поместить=');
 readln(nom);
 writeln('Массив');
 for i:=1 to n do
  write(a[i],' ');
 writeln;
 writeln('После вставки');
 for i:=n+1 downto nom+1 do
  a[i]:=a[i-1]; {сдвигаем все элементы вправо}
 a[nom]:=x;    {вставляем число}
 for i:=1 to n+1 do
  write(a[i]:3);
 readln
end.
   

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0 0 vote
Article Rating
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments