С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Misha_Beginner
5 / 5 / 12
Регистрация: 12.09.2013
Сообщений: 156
1

Переработать под стек

20.04.2014, 11:50. Просмотров 272. Ответов 0
Метки нет (Все метки)

всем привет. прошу помогите эту программу переработать. Чтобы мы могли добавлять сколько нужно элементов постоянно в вершину тоесть могли стек корректировать. моя процедура добавление только 1 раз добавляет едементы но если ёё вызвать еще раз то она записывает по новой едементы в таблицу, а мне нужно чтобы мы могли уже к существующим добавить еще сколько захотим. Вот как я делал:
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
uses 
   crt;
   const
         n=4;
   type 
   student=record
     N:byte;
     Prizv:string[20];
     matan:byte;
     prog:byte;
     OS:byte;
     alg:byte;
     end;
    
   ptr=^item;
item=record
data:student;
next:ptr;
end;
 
 
var
   head,current:ptr;
   st:student;
   i:integer;
   key:char;
   tabl:array[1..n] of student;
   
   
 procedure Line(m:integer);
var i:integer;
begin
for i:=1 to m do
write('-');
writeln;
end;
   
   
   
   procedure push(var value:student);
   begin
   new(current);
   current^.data:=value;
   current^.next:=head;
   head:=current;
   end;
   Procedure pop(var value:student);
   begin
   current:=head;
   value:=head^.data;
   head:=current^.next;
   dispose(current);
   end;
   
   
   begin
   Writeln('stack');
   head:=nil;
   repeat
   writeln('1) add elements');
   writeln('2) output');
   writeln('3) exit');
   writeln('press key 1..3');
   key:=readkey;
   
   case key of
   '1':begin
   
   for i:=1 to  n do
   begin
   writeln('enter data item' , i);
   
   
    tabl[i].N := i;
      readln(tabl[i].Prizv, tabl[i].matan, tabl[i].prog, tabl[i].OS, tabl[i].alg);
      push(st);
      end;
          End;
          
          
          
          
          
          
      '2':begin
      Line(69);
  writeln('|   | Призвіще | Matematuchnuy | Programyvannya | OS | Algebra | cer|');
  writeln('|   |          |    analis     |                |    |  i geom.|    |');
  Line(69);
  
  for i := 1 to n do
  begin
  pop(st);
  
  write('|', tabl[i].N: 2, ' |', tabl[i].Prizv: 10, '|');
    write(tabl[i].matan: 15, '|', tabl[i].prog: 16, '|', tabl[i].OS: 4, '|', tabl[i].alg: 9, '|',
     ((tabl[i].matan + tabl[i].prog + tabl[i].OS + tabl[i].alg) / n): 0: 2, '|');
    writeln;
    Line(69);
  end;
  writeln;
  writeln('vidcortov');
  Line(69);
  for i := 1 to n do
  begin
    if ((tabl[i].matan + tabl[i].prog + tabl[i].OS + tabl[i].alg) / 4 >= 4) then
    begin
      write('|', tabl[i].N: 2, ' |', tabl[i].Prizv: 10, '|');
      write(tabl[i].matan: 15, '|', tabl[i].prog: 16, '|', tabl[i].OS: 4, '|', tabl[i].alg: 9, '|', ((tabl[i].matan + tabl[i].
      prog + tabl[i].OS + tabl[i].alg) / n): 0: 2, '|');
      writeln;
      Line(69);
    end;
  end;
  
     End;
     end;
     until key= '3';
     End.
помогите переделать процедуру эту пожалуйста очень прошу

Добавлено через 11 часов 41 минуту
Пожалуйста, хоть кто нибудь всего одна процедура add
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 11:50
Ответы с готовыми решениями:

Переработать програмку в ООП стиль
Здравствуйте! Как переработать такую ​​программу в ООП стиль. Буду очень...

Переработать ранее созданную программу на указатели
Доброго времени суток, надо переработать ранее созданную программу на...

создать стек,заполнив числами 1,2,3...n.Посмотреть его содержимое,удалить стек
Всем привет!помогите,пожалуйста!!! создать стек,заполнив числами...

Стек. Создать случайно генерированный стек и поменять местами первый элемент с i
Как создать случайно генерированный стек (тип элементов CHAR) и поменять...

Заполнить очередь и стек и поменять их содержимое местами через дополнительный стек.
Необходимо разработать программу, которая должна : Заполнить очередь и стек и...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 11:50

Задача со стеками. В первый стек поместить четные числа в порядке неубывания, во второй стек поместить нечетные
Даны четыре стека.Два первых стека пустые,а в двух других находятся натуральные...

Найти приставки под,пере,под,от,о
не могли бы Вы мне помочь со второй задачей на строки??пожалуйста,буду очень...

Стек
вот такая вот задача. Перенести в конец стека L его первый элемент.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru