Показать сообщение отдельно
Старый 28.03.2013, 03:25   #5 (permalink)
Léon
С# - learn or die
 
Аватар для Léon
 
Регистрация: 17.12.2011
Сообщений: 2,438
Записей в дневнике: 8
Сказал(а) спасибо: 21
Поблагодарили 49 раз(а) в 11 сообщениях
Репутация: 19701
По умолчанию

Цитата:
Сообщение от nice5531 Посмотреть сообщение
5. Вставить два элемента: первый – после всех элементов, больших данного числа Р, а второй – перед всеми элементами, большими данного числа Р (Р вводить с клавиатуры).
Код:
uses crt;
const nmax=50;
type myarray=array[1..nmax] of integer;
var n:byte;
procedure init2 (var n:byte; var m:myarray);
var i:integer;
begin
n:=25;
for i:=1 to n do
m[i]:=Random(111)-35;
end;
procedure print1 (n:integer; var m:myarray);
var i:integer;
begin
for i:=1 to n do
write(m[i]:4);
writeln;
end;
procedure vstavka(var n:byte; var m:myarray; a,k1,k2:integer);
var i,j:byte;
begin
i:=1;
while i<=n do
if m[i]>a then
begin
n:=n+1;
for j:=n downto i+2 do
m[j]:=m[j-1];
m[i+1]:=k1;
n:=n+1;
for j:=n downto i+1 do
m[j]:=m[j-1];
m[i]:=k2;
i:=i+3;
end
else i:=i+1;
end;
var a:myarray; P,k1,k2,k:integer;
begin
Randomize;
init2(n,a);
print1(n,a);
write('Vvedite chislo dlya sravnenia P=');
readln(P);
write('Vvedite chislo dlya vstavki posle bolshih ',P,' k1=');
readln(k1);
write('Vvedite chislo dlya vstavki pered kratnumi P k2=');
readln(k2);
vstavka(n,a,P,k1,k2);
writeln('Vstavka chisel po ysloviu:');
print1(n,a);
end.
Léon вне форума   Ответить с цитированием
Ads

Яндекс

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