Четверг, 09.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

Очередь
rs-mmsДата: Пятница, 24.04.2009, 23:03 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: Offline
Создайте две произвольные очереди Q и Р. Добавьте из очереди Р в очередь Q три элемента. Выведите очередь Q на экран
 
FirefrominsideДата: Суббота, 25.04.2009, 00:49 | Сообщение # 2
Уже "свой"
Группа: Модераторы
Сообщений: 85
Репутация: 0
Замечания: 0%
Статус: Offline
а эл-ты мы берём из Q какие? Произвольные, первые,или номера которых вводим?

Большая просьба выкладывать хоть какой-то код Вашей программы.
Это поможет найти общий язык между Вами и нами! =)
И не забываем благодарить за помощь=)
Нужна помощь с задача С++? тебе сюда bc-for-all.ucoz.ru
 
SeqularДата: Суббота, 25.04.2009, 09:25 | Сообщение # 3
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
rs-mms, Это с динамическими переменными делать нужно? По другому ведь не создать очередь...
Нужно реализовать функции ввода-вывода из очереди, тогда все станет понятней. Как у тебя с динамическими переменными?


Поддерживаю также проект сообщество молодых сисадминов
 
FirefrominsideДата: Понедельник, 27.04.2009, 06:40 | Сообщение # 4
Уже "свой"
Группа: Модераторы
Сообщений: 85
Репутация: 0
Замечания: 0%
Статус: Offline
может через эти процедурки?

Code


Procedure FormLi(var ph,pk:Pt; var c:char);{Формируем эл-нт}
    begin
     New(ph);
      ph^.p:=nil;
      ph^.d:=c;
      pk:=ph;
    end;
{--------------------------------------------------------------------------}
   Procedure AddLi(Var pk:Pt;var c:char);{добавляем эл-нт}
    var px:Pt;
     Begin
      New(px);
       px^.p:=nil;
       pk^.p:=px;
       pk:=px;
       pk^.d:=c;
     end;
{--------------------------------------------------------------------------}
Procedure SearchLi(var kl:char; var ph,pc,px:Pt;var pr:boolean );{процедура поиска необходимого эл-та}   
       Begin
        pc:=ph;
         while (pc<>nil)and(kl<>pc^.d) do
          begin
           px:=pc;
           pc:=pc^.p;
          end;
         if(pc=nil)and(kl<>pc^.d) then
          pr:=False
         else
          pr:=True
       end;
{--------------------------------------------------------------------------}
    Procedure Insli(var kl,c:char);{ну и собственно процедура вставки}   
       var pm:Pt;
        Begin
         SearchLi(kl,ph,pc,px,pr);
         New(pm);
          pm^.d:=c;
          pm^.p:=pc^.p;
          pc^.p:=pm;
        end;
{--------------------------------------------------------------------------}



Большая просьба выкладывать хоть какой-то код Вашей программы.
Это поможет найти общий язык между Вами и нами! =)
И не забываем благодарить за помощь=)
Нужна помощь с задача С++? тебе сюда bc-for-all.ucoz.ru


Сообщение отредактировал Firefrominside - Понедельник, 27.04.2009, 06:41
 
rs-mmsДата: Понедельник, 25.05.2009, 21:01 | Сообщение # 5
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: Offline
Cпасибо за ответы!
Задачку решили общими усилиями))

Добавлено (25.05.2009, 14:01)
---------------------------------------------
Вот задачка получилась, но мне малопонятная, так как писалась кусочками готовыми. Помогите разобраться, нужно защищать работу в пятницу, эта задача самая непонятная для меня. Нужны оччень подробные комментарии к тексту программы

Code

program ochered;
uses crt;
type
   PtrNode=^Node;
   Node=record;
   Info: Integer;
   Next: PetrNode;
end;

procedure prn_q(G: PtrNode);
var
   t: PtrNode;
begin
   t: G;
   while t<>Nil do
   begin
     write(t^.Info:5);
     t:=t^.Next;
   end;
   writeln;
   end;

var
   Q,P: PtrNode;
   HQ,HP: PtrNode;
   Tek: PtrNode;
   n1, n2, i: Integer;
begin
   clrscr;
   Q:=Nil;
   HQ:=Nil;
   repeat
   write('vvedite kol-vo elementov v ocheredi Q: ');
   readln(n1);
   until n1>0;
   i:=0;
   while i<n1 do
   begin
     New(Tek);
     Tek^.Info:=random(100);
     Tek^.Next:=Nil;
     if Q=Nil then
     begin
       Q:=Tek;
       HQ:=Tek;
     end
else
begin
   HQ^.Next:=Tek;
   HQ:=Tek;
end;
i:=i+1;
end;
writeln('sozdana ochered Q: ');
prn_q(Q);

P:=Nil;
HP:=Nil;
repeat
write('vvedite kol-vo elementov v ocheredi P(ne menshe 4): ');
readln(n2);
until n2>=4;
i:=0;
while i<n2 do
begin
   New(Tek);
   Tek^.Info:=random(100);
   Tek^.Next:=Nil;
   if P=Nil then
   begin
     P:=Tek;
     HP:=Tek;
   end
   else
   begin
     HP^.Next:=Tek;
     HP:=Tek;
   end;
   i:=i+1;
   end;
   writeln(sozdana ochered P: ');
   prn_q(P);

for i:=1 to 3 do
begin
   Tek:=P;
   HQ^.Next:=Tek;
   HQ:=Tek;
   P:=P^.Next;
   HQ^.Next:=Nil;
end;
writeln('ochered P posle udalenia is nee 3 elementov: ');
prn_q(P);
writeln('ochered Q posle dobavlenia v nee 3 elementov: ');
prn_q(Q);
readln;
end.
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;