Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.12.2009, 23:59
saka saka вне форума
Прохожий
 
Регистрация: 19.12.2009
Сообщения: 2
Репутация: 10
По умолчанию задача на Delphi по массивам

Вот условия задачи:
Дан одномерный целочисленный массив А из N элементов. N заданное натуральное число.
• сформировать массив В, из элементов массива А, которые являются простыми числами;
• удалить из массива А те элементы в записи которых есть цифра 5
• выполнить циклический сдвиг массива А вправо на заданное число элементов К

Единственная просьба написать в console application на Delphi. ОЧень срочно надо. помогите поджалуйста.
Ответить с цитированием
  #2  
Старый 20.12.2009, 17:59
saka saka вне форума
Прохожий
 
Регистрация: 19.12.2009
Сообщения: 2
Репутация: 10
По умолчанию

up помогите срочно
Ответить с цитированием
  #3  
Старый 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.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:25.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter