![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Вот условия задачи:
Дан одномерный целочисленный массив А из N элементов. N заданное натуральное число. • сформировать массив В, из элементов массива А, которые являются простыми числами; • удалить из массива А те элементы в записи которых есть цифра 5 • выполнить циклический сдвиг массива А вправо на заданное число элементов К Единственная просьба написать в console application на Delphi. ОЧень срочно надо. помогите поджалуйста. |
|
#2
|
|||
|
|||
|
up помогите срочно
|
|
#3
|
||||
|
||||
![]() Код:
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.![]() |