Показать сообщение отдельно
Старый 21.03.2013, 22:57   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Никол Посмотреть сообщение
Есть массив a:array[1..n] of integer, помогите пожалуйста составить часть программы: нужно удалить все элементы этого массива, расположенные между элементами под номерами Р и К, при это под удалением 1 элемента понимать исключение элемента путем смещения всех следующих за ним элементов влево на 1 позицию и присвоение последнему эл-ту значения 0.
Заранее благодарю.
Легко:
Код:
Const
 Nmax=100;
Var
 A:Array[1..Nmax] of Integer;
 N,P,K,i,q:Byte;
Begin
 Write('N= ');
 Readln(N);
 Randomize;
 For i:=1 to N do
  begin
   A[i]:=Random(100);
   Write(A[i]:4);
  end;
 Writeln;
 Writeln;
 Write('P= ');
 Readln(P);
 Write('K= ');
 Readln(K);
 Writeln;
 i:=0;
 Repeat
  for q:=K-i to N-i do A[q-1]:=A[Q];
  A[N-i]:=0;
  Inc(i);
 Until K-i=P+1;
 For i:=1 to N do Write(A[i]:4);
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070