
20.12.2009, 21:37
|
 |
Прохожий
|
|
Регистрация: 17.12.2009
Сообщения: 28
Репутация: 10
|
|
Код:
program Mega_super_sro4no;
{$APPTYPE CONSOLE}
uses
SysUtils;
var A,B,C:array of integer;
i,k,N,j:integer;
function IsItSimple(x:integer):boolean;
var i,z:integer;
begin
z := 2;
repeat
begin
i := x mod z;
if i <> 0 then z := z + 1;
end;
result:=(z = x);
until i = 0
end;
procedure DelAndMove();
var i,j,k:integer;
begin
for i:=1 to N do
for j:=1 to length(inttostr(A[i])) do
begin
if inttostr(A[i])[j]='5' then //Если в составе числа есть цифра 5 то
for k:=i to N do //Удаляем элемент(элементы смещ.на 1 влево)
begin
A[k]:=A[k+1];
dec(N); //При удалении эл-та их становится на 1 меньше
end;
end;
end;
begin
{ TODO -oUser -cConsole Main : Insert code here }
j:=0;
readln(N);//Вводится число "N"
SetLength(A,100);
SetLength(B,100);
SetLength(C,100);
for i:=1 to N do read(A[i]);
{for i:=1 to N do read(a[i]);//Вводятся эл-ты массива}
for i:=1 to N do
begin
if IsItSimple(A[i]) then //если оно простое
begin //То записываем в массив "В"
inc(j);
B[j]:=A[i];
end;
end;
DelAndMove; //См. процедуру
read(k); //Сдвиг
{NN:=N+k;}
for i:=1 to N+k do C[i+k]:=A[i];
A:=C;
//ЗДЕСЬ САМ ДОПИШИ КУДА ТЕБЕ ВЫВОДИТЬ ТАМ ЭТИ МАССИВЫ
//В ФАЙЛ ИЛИ НА ЭКРАН
end.

|