Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задача на тему "Сортировки", Ребята, помогите сделать задание... 
:(
    Опции темы
Garis
  Дата 6.10.2005, 13:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ребята, всем доброго времени суток!
Прошу вашей помощи, т.к. сам с Паскалём можно сказать не работал (переписывал задачки с доски и всё). В общем мне дали задание, написать программу со всеми пояснениями и составить к ней схему алгоритма… Для меня это вообще что-то не реальное…(( Помогите, пожалуйста, кто чем может..)) Книжки читать времени совсем нету, а задание уже скоро сдавать.
Вот собственно само задание (оно по теме «Сортировки»):
Дана последовательность из «N» целых чисел, содержащая положительные, отрицательные числа и нули.
Получить три последовательности содержащие только отрицательные числа, только нули и только положительные числа в порядке их следования в исходной.
Ранжировать полученные последовательности по возрастанию и напечатать друг под другом с пояснениями.
Задокументировать исходную последовательность.

Вот такое заданьеце….((
теперь о том что я понимаю: т.е. задан массив, из него нужно сделать выборку, а затем эту выборку(три последовательности) разместить по возрастанию.

Заранее вам огромное спасибо!

  Вверх
~FoX~
Дата 6.10.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 1
Всего: 68



Код

program Project2;

{$APPTYPE CONSOLE}




var
  Gen: array [0..100] of integer;
  Min: array of integer;
  Max: array of integer;
  ProstoNil: array of integer;



procedure FullArray();
var i: integer;
begin
  randomize;
  for i := 100 downto 0 do begin
    Gen[i] := random (200) - 100;
  end;
end;

procedure RazdeliaemVseNafig();
var i: integer;
begin
  for i := 100 downto 0 do begin
    if Gen[i] < 0 then begin
      SetLength(Min, Length(Min)+1);
      Max[Length(Min)-1] :=Gen[i];
    end
    else if Gen[i] > 0 then begin
      SetLength(Max, Length(Max)+1);
      Max[Length(Max)-1] :=Gen[i];
    end
    else if Gen[i] = 0 then begin
      SetLength(ProstoNil, Length(ProstoNil)+1);
      Max[Length(ProstoNil)-1] :=Gen[i];
    end;
  end;
end;

procedure SortimIznachalniMassiv();
var i, j, TEMP: integer;
begin
  for i := 100 downto 1 do begin
    for j := i downto 0 do begin
       if gen[i] > gen [j] then begin
         TEMP := gen[i];
         gen[i] := gen[j];
         gen[j] := TEMP;
       end;
    end;
  end;
end;

procedure VivodimVseNaEkran();
var i: integer;
begin
  WriteLn('=====Bolshe 0======');
  for i := 0 to Length(Max)-1 do begin
    WriteLn(Max[i]);
  end;
  WriteLn('=====Menshe 0======');
   for i := 0 to Length(Min)-1 do begin
    WriteLn(Min[i]);
   end;
   WriteLn('=====Ravno 0======');
   for i := 0 to Length(ProstoNil)-1 do begin
    WriteLn(ProstoNil[i]);
   end;
end;

begin
  FullArray;
  SortimIznachalniMassiv;
  RazdeliaemVseNafig;
  VivodimVseNaEkran;
end.

Ну как то вот так,.... smile


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Pakshin A. S.
Дата 6.10.2005, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



~FoX~
Кхе.. кхе.. Мы ведь в паскале, а не в дельфях пишем... smile

Garis
Зачем дублировать темы? http://forum.vingrad.ru/index.php?showtopi...view=getnewpost
PM   Вверх
~FoX~
Дата 7.10.2005, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 1
Всего: 68



lonely delphist
Ну будет придираться то smile Это всего лишь алгоритм...



--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Garis
Дата 14.10.2005, 17:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сделал я задачу по-своему..... но она немного не соответствует самому заданию (оно выше), вот что у меня вышло:
Код


program p1;

const
INPUT_FILE_NAME = 'с:\p1.in';

type
TCondition = function(x : integer) : boolean;

var
f : text;
i, n, t : integer;
flag : boolean;
a : array [1..100] of integer;

function less0(x : integer) : boolean; far;
begin
if x < 0 then
less0 := true
else
less0 := false;
end;

function equal0(x : integer) : boolean; far;
begin
if x = 0 then
equal0 := true
else
equal0 := false;
end;

function above0(x : integer) : boolean; far;
begin
if x > 0 then
above0 := true
else
above0 := false;
end;

procedure print(cond : TCondition);
begin
for i := 1 to n do
if cond(a[i]) then
write(a[i] , ' ');
writeln;
end;

begin
assign(f, INPUT_FILE_NAME);
reset(f);

readln(f, n);

for i := 1 to n do
read(f, a[i]);

repeat
flag := true;
for i := 1 to n-1 do
if a[i] > a[i+1] then begin
t := a[i];
a[i] := a[i+1];
a[i+1] := t;
flag := false;
end;
until flag;

print(less0);
print(equal0);
print(above0);

close(f);
end.
Код




Требуется ваша помощь! Помогите её доработат, чтоб она полностью соответствовала заданию..... А также срочно нужны подробные комментарии в задаче и ОЧЕНЬ НУЖНА БЛОК-СХЕМА(АЛГОРИТМ) задачи..... помогите, пожалуйста!
  Вверх
Zero
Дата 14.10.2005, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Garis @ 14.10.2005, 17:28)
Помогите её доработат, чтоб она полностью соответствовала заданию.....

Ты скажи что именно у тебя не получается, то я скажу, а просто сидеть разбиратся в чужём коде, я думаю всем не поприколу... smile
Цитата(Garis @ 14.10.2005, 17:28)
А также срочно нужны подробные комментарии в задаче

А это просто, если ты как говоришь сам всё сделал, то напиши коментарий так как ты понимаешь. smile
Цитата(Garis @ 14.10.2005, 17:28)
и ОЧЕНЬ НУЖНА БЛОК-СХЕМА(АЛГОРИТМ) задачи..... помогите, пожалуйста!

У чувство юмора, я смотрю у тебя хорошо развито... smile smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.3120 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.