IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Структуры данных и алгоритмы, задачка
Хитрый_панк
сообщение 13.02.2005 23:03
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


помогите разобратся плзззззззз....если не сложно оставлять коментарии и исходники какие ниб. :p2:
вот сама задачка:
Написать программу реализации очереди с помощью курсоров

Зарание благодарен
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 15)
Altair
сообщение 13.02.2005 23:13
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


В Паскале курсор это pointer - ведь Ахо пишет об этом...
В подфоруме FAQ есть то, что вам надо...


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 13.02.2005 23:16
Сообщение #3


Гость






Например, здесь:
Структуры данных - Очереди
 К началу страницы 
+ Ответить 
Хитрый_панк
сообщение 14.02.2005 23:20
Сообщение #4





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


всем спасибки !!ща пойду разбираться
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Хитрый_панк
сообщение 14.02.2005 23:47
Сообщение #5





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Почему когда я запускаю программу он пишет cannot run a unit
че это такое и как с этим ьороться?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 14.02.2005 23:54
Сообщение #6


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Потому что там модуль, а модули не запускаются...
Описанные в интерфейсной части модуля процедуры и функции (и типы) можешь использовать в своей программе... (только подключи модуль)


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Хитрый_панк
сообщение 15.02.2005 0:02
Сообщение #7





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


...вы уж извените за этот вопрос( я чайник), но КАКИМ МАКАРОМ подключить???????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 15.02.2005 0:13
Сообщение #8


Гость






Цитата(Хитрый_панк @ 14.02.05 23:02)
КАКИМ МАКАРОМ подключить?

В новом файле первой строкой программы пишешь:
Код
Uses Queue;
{ А дальше - твоя программа }

В твоей программе должно быть именно использование очереди, потому что файл "queue.pas" содержит лишь ее описание...

Использовать очередь можно, например, вот так:
Код
uses queue;
var q: TQueue; i: integer;
begin
 QueueInit(q);
 for i := 1 to 10 do
   QueuePush(q, i);
 writeln('printing the queue:')
 while not QueueEmpty(q) do
   writeln( QueuePop(q) );
end.
 К началу страницы 
+ Ответить 
Хитрый_панк
сообщение 18.02.2005 23:10
Сообщение #9





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Ничего не понимаю....модуль поставил...а ошибку ту же самую пишет blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.02.2005 23:21
Сообщение #10


Гость






Хитрый_панк
Файлы программы и модуля должны находиться в одной директории, в редакторе TP открывается файл программы и выбирается опция Make (F9) для компиляции как самой программы, так и всех модулей, от которых она зависит... Тогда такая ошибка возникнуть не должна...
 К началу страницы 
+ Ответить 
Хитрый_панк
сообщение 19.02.2005 16:54
Сообщение #11





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


.... unsure.gif а можно вообще не использовать эти модули а составить программу из процедур??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 19.02.2005 18:44
Сообщение #12


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


можно.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Хитрый_панк
сообщение 19.02.2005 23:28
Сообщение #13





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


rolleyes.gif не ругайте меня строго ...у меня тока началось изученме Паскаля...
я пытался задать очередь....покажите ошику и как ее исправить :p2:

Код
program roots;

  type
  point= ^item;
  item = record
  number: integer;
  next: point

      var n: integer;
          r: ^integer;
    begin
    Writeln('Vvedite n');
    readln (n) ;

first:= nil;
while n>0 do

begin

   New ( r );


   r^.Next:=first;
   r^.Number:=n;
   first:=r;
   n:=n-1;
   end;
   End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.02.2005 23:57
Сообщение #14


Гость






Показываю:
Код
program roots;
type
 point= ^item;
 item = record
   number: integer;
   next: point;
 end; { *** Этого не было *** }

var
 n: integer;
 r: point; { *** а не ^integer *** }
 first: point; { *** Этого тоже не было *** }
begin
 Writeln('Vvedite n');
 readln (n);

 first:=nil;
 while n>0 do
   begin
     New ( r );
     r^.Next:=first;
     r^.Number:=n;
     first:=r;
     n:=n-1; { *** Можно заменить на Dec(n); *** }
   end;
End.


P.S. А в каком это интересно компиляторе даже не показываются ошибки? Или все-таки показываются? Тогда в чем же проблема?... ;)
 К началу страницы 
+ Ответить 
Хитрый_панк
сообщение 20.02.2005 11:33
Сообщение #15





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


VOLVO спасбо за помощь! ;) я решил идти дальше)))
теперь я пытаюсь в эту прогу вставить процедуру - помещение в хвост...я знаю ,что должны быть строчки обращения к процедурам...но вот где их поставить чтобы происходила успешная добавка в хвост blink.gif


вот такое дело....

Код

program roots;

  type
  point= ^item;
  item = record
  number: integer;
  next: point;
          end;


  Function QueueEmpty(q:Tqueue):boolen;
    begin
    QueueEmpty:=(Q.head=nil)
    end;


  Procedure Pomestit'_v_hvost(var q:Tqueue; e:telem );
  var z:Tlist;
     begin
     new(z);
     z^.info:=e;
     z^.next:=nil;
          If QueueEmpty(q) then q.head:=z else q.tail^.next:=z;
          q.tail:=z
          end;


      var n: integer;
          r: point;
         
         first: point;
   
begin
    Writeln('Vvedite n');
    readln (n) ;

first:= nil;
While n>0 do
begin

   New( r );


   r^.Next:=first;
   r^.Number:=n;
   first:=r;
   n:=n-1;
   end;
   End.

Код заключаем в теги !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 20.02.2005 11:51
Сообщение #16


Гость






Ну и долго будет изобретаться этот велосипед? Чем реализация из FAQ не нравится? Взять функции и процедуры оттуда и посмотреть, как они работают, нельзя?
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 10:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"