Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 15:34   #1
Настя Котова
Новичок
Джуниор
 
Регистрация: 15.04.2013
Сообщений: 9
Сообщение Паскаль.НАЙТИ ОШИБКУ!!!

Код:
program queue_proj;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes, SysUtils, CustApp
  { you can add units after this };
type q_node=record
  pnext:^q_node;
  pback:^q_node;
  data:integer;
end;

type queue=record
  pbegin:^q_node;
  pend:^q_node;
  size:integer;
end;

type pq_node=^q_node;
type pqueue=^queue;

procedure push(q:pqueue; val:integer);
var p:pq_node;
begin
  getMem(p, sizeof(q_node));
  p^.data:=val;
  p^.pnext:=q^.pend;
  if(q^.size<>0) then
    q^.pend^.pback:=p
  else
    q^.pbegin:=p;
   q^.pend:=p;
   inc(q^.size);
end;

function pop(q:pqueue):integer;
var val:integer;
    p:^q_node;
begin
  if(q^.size<>0) then
  begin
    val:=q^.pbegin^.data;
    p:=q^.pbegin^.pback;
    freeMem(q^.pbegin);
    q^.pbegin:=p;
    dec(q^.size);
    pop:=val;
  end
  else
  begin
    writeln('Queue is empty!');
    pop:=0;
  end;
end;

var
  n,min,i,tmp,size:integer;
  q:queue;
begin
  q.size:=0;
  min:=$7FFFFFFF;
  writeln('Enter elements of queue(ctrl+z - stop)');
  repeat
  begin
    readln(n);
    push(@q, n);
  end
  until eof();
  for i:=1 to q.size do
  begin
    tmp:=pop(@q);
    push(@q, tmp);
    if min>tmp then
      min:=tmp;
  end;
  writeln('The minimum element is ', min);
  size:=q.size;
  for i:=1 to size do
  begin
    tmp:=pop(@q);
    if(tmp<>min) then
      push(@q, tmp);
  end;
  writeln('Queue after remove the minimum');
  for i:=1 to q.size do
  begin
    tmp:=pop(@q);
    push(@q, tmp);
    writeln(tmp);
  end;
  readln;
end.
Ниже задание( задание 2 Вариант 11)
Вложения
Тип файла: doc MU_k_pr_z_1_prog_ch2.doc (146.0 Кб, 8 просмотров)

Последний раз редактировалось Stilet; 20.04.2013 в 21:29.
Настя Котова вне форума Ответить с цитированием
Старый 20.04.2013, 16:39   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Может ещё чего-нибудь сделать вам?
Вадим Мошев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль нужно найти ошибку kolit Помощь студентам 4 14.11.2010 17:20
Найти ошибку, в файле. Паскаль. Veleri92 Помощь студентам 6 02.06.2010 21:43
найти ошибку в массиве, паскаль bingooo Помощь студентам 2 09.04.2010 19:12
помогите найти ошибку - паскаль ai\ekcah^p Помощь студентам 2 11.05.2009 17:32
Найти ошибку в задаче на ПАскаль Анжелика Помощь студентам 3 16.01.2009 00:55