![]() |
|
|
Регистрация | << Правила форума >> | 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. ![]() |