Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 27
1

Очереди.Подправить готовый код.

03.05.2012, 16:31. Показов 646. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны три очереди. Одна пуста а в двух других находятся натуральные числа. С помощью первой очереди упорядочить числа во второй очереди по невозрастанию, а в третей очереди упорядочить числа по неубыванию.

Вот готовый код программы.
Нужно удалить из программы процедуру подсчета суммы(ибо она не нужна) и добавить сортировку по невозрастанию.
Тоесть она показывает 1 и 2 очередь и ниже отсортировку по неубыванию и невозрастанию
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
uses crt;
type plist=^tlist;
tlist=record
    zn:integer;
    next:pList;
end;
 
 
procedure Push(var first,last:plist;a:integer);
var p:plist;
begin
  new(p);
  p^.zn:=a;
  p^.next:=nil;
  if (first=nil) then
     first:=p
  else
   last^.next:=p;
  last:=p;
end;
 
 
function Pop(var first:pList;var a:integer):boolean;
var
 p:pList;
begin
  if (first=nil) then
   begin
    pop:=false;
   end
  else
  begin
    a:=first^.zn;
    p:=first;
    first:=first^.next;
    dispose(p);
    pop:=true;
  end;
end;
 
procedure Push1(var first1,last1:plist;a:integer);
var p:plist;
begin
  new(p);
  p^.zn:=a;
  p^.next:=nil;
  if (first1=nil) then
     first1:=p
  else
   last1^.next:=p;
  last1:=p;
end;
 
 
function Pop1(var first1:pList;var a:integer):boolean;
var
 p:pList;
begin
  if (first1=nil) then
   begin
   pop1:=false;
   end
  else
  begin
    a:=first1^.zn;
    p:=first1;
    first1:=first1^.next;
    dispose(p);
    pop1:=true;
  end;
end;
 
procedure Push2(var first2,last2:plist;a:integer);
var p:plist;
begin
  new(p);
  p^.zn:=a;
  p^.next:=nil;
  if (first2=nil) then
     first2:=p
  else
   last2^.next:=p;
  last2:=p;
end;
 
 
function Pop2(var first2:pList;var a:integer):boolean;
var
 p:pList;
begin
  if (first2=nil) then
  begin
   pop2:=false;
  end
  else
  begin
    a:=first2^.zn;
    p:=first2;
    first2:=first2^.next;
    dispose(p);
    pop2:=true;
  end;
end;
 
var  first,first1,first2:plist;
     last,last1,last2:plist;
     a,s,i,m,j:integer;
 
begin
 clrscr;
 randomize;
 first:=nil;  {пустая}
 first1:=nil;
 first2:=nil;
 new(last);
 new(last1);
 new(last2);
 writeln('Вторая очередь:');
 for i:=1 to 10 do
  begin
   a:=random(10);
   push1(first1,last1,a);
   write(a,' ');
  end;
 writeln;
 writeln('Третья очередь:');
 for i:=1 to 10 do
  begin
   a:=random(10);
   push2(first2,last2,a);
   write(a,' ');
  end;
  writeln;
  while pop1(first1,i)=true do
   begin
    if not odd(i) then
     s:=s+i;
     push(first,last,i);
   end;
   Writeln('Сумма = ',s);
   writeln('Прежний вид первой очереди: ');
   while pop(first,i)=true do
    begin
     push1(first1,last1,i);
     write(i,' ');
    end;
   writeln;
   while pop1(first1,i)=true do  {первая очередь очищается}
    write('-');
   writeln;
   while first2<>nil do
    begin
     m:=9;
     a:=0;
     while pop2(first2,i)=true do
      begin
       if i<m then
        m:=i;
       push(first,last,i);
      end;
     while pop(first,i)=true do
      if i<>m then
       push2(first2,last2,i)
      else
       inc(a);
     push1(first1,last1,m);
     for j:=1 to a-1 do
      push1(first1,last1,m);
    end;
  writeln('Отсортированая 3-я очередь:');
  while pop1(first1,i)=true do
   write(i,' ')
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2012, 16:31
Ответы с готовыми решениями:

Добавление сортировки в готовый код
Здрасвтвуйте. Помогите пожалуйста. Нужно сформированный массив перед выводом на экран упорядочить...

Запустите готовый код на выполнение
Надо запустить прогу,если кто в силах,то сказать два слова про нее Просит разные библиотеки, т.д....

Секундомер: подправить код обратного отсчета
Этот таймер работает он так работает 0:1,0:2,0:3 мне нужно делать по убыванию пример 1:59,1:58,1:57...

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

2
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
03.05.2012, 18:42 2
Rampag, можно было и в одноименной теме оставить)
см. свою тему про очереди. И кстати: сортировка для разный очередей или только для одной в 2-х вариантах?
0
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 27
04.05.2012, 17:18  [ТС] 3
сортировка одной очереди 2мя способами
0
04.05.2012, 17:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2012, 17:18
Помогаю со студенческими работами здесь

Есть код програмы, нужно подправить его немного
Вот код: uses crt; var xn,xk,x,s,dx,t,ex:real; n,i:integer; begin clrscr; xn:=0.1;...

Готовый код: Сумма кодов первой и второй букв
Народ, нужна помощь! по готовому коду Условие задания Во всех вариантах требуется разработать...

Подправить код
Она должна считать суму заданого ряда. uses crt; var N:integer, S,k:byte; begin S=0; ...

Как код подправить?
Значит прога делает: я ввожу скок чисел должно быть (N), какие (a) и он считает кол-во...

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

Дек//Готовый код
Ребят вот нашёл код дека, и его подправил для своих нужд. Но сделал одну вещь не так, надо задать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru