Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 23.12.2013
Сообщений: 28
1

Создать в динамической памяти односвязный список типа «стек» из случайных вещественных чисел (-500, 500)

17.02.2014, 09:09. Просмотров 2223. Ответов 2
Метки нет (Все метки)

Помогите, плиииз! Создать в динамической памяти односвязный список типа «стек» из случайных вещественных чисел (-500, 500). Предусмотреть добавление в него нужного числа новых элементов. Перед завершением программы очистить динамическую память
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2014, 09:09
Ответы с готовыми решениями:

Создать в динамической памяти односвязный список типа «очередь» из случайных целых чисел
1. Создать в динамической памяти односвязный список типа «очередь» из случайных целых чисел ....

Создать в динамической памяти односвязный список типа «очередь» из случайных целых чисел
1. Создать в динамической памяти односвязный список типа «очередь» из случайных целых чисел ....

Создать файл из 150 целых чисел, лежащих на отрезке [20,500], используя генератор случайных чисел
Здравствуйте! Помогите, пожалуйста, составить программу с помощью процедур и функций. Создать файл...

Создать односвязный список типа стек, произвести удаление и добавление элемента
Создать односвязный список типа стек. Заменить последний элемент на другой вводимый с ...

2
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
17.02.2014, 10:54 2
Лучший ответ Сообщение было отмечено Mishka22 как решение

Решение

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
Type
  tReal=^tt;
  tt = Record
         tR   : Real;
         Next : tReal;
       End;
Var
  m,k : tReal;
  i   : Byte;
  rr  : Real;
 
Procedure OutStack;
Begin
  k:=m;
  While k<>nil do
  Begin
    Writeln(k^.tR:6:2);
    k:=k^.next;
  End;
  Writeln;
End;
 
Begin
  Randomize;
  Writeln;
  m:=nil;
  For i:=1 to 10 do
  Begin
    New(k);
    k^.tR:=500-Random*1000;
    k^.next:=m;
    m:=k;
  End;
 
  OutStack;
  
  Write('Что добавить? : '); Readln(rr);
  New(k);
  k^.tR:=rr;
  k^.Next:=m;
  m:=k;
  
  OutStack;
 
  Readln;
  k:=m;
  While k<>nil do
  Begin
    m:=m^.next;
    Dispose(k);
    k:=m;
  End;
End.
Добавлено через 41 секунду
Цитата Сообщение от Mishka22 Посмотреть сообщение
добавление в него нужного числа новых элементов
- это предоставляю доделать Вам.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5663 / 3384 / 2423
Регистрация: 22.11.2013
Сообщений: 9,507
Записей в блоге: 1
17.02.2014, 13:10 3
Например, так:
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
type
  PNode=^TNode;
  TNode=record
    next: PNode;
    r: Real;
  end;
 
procedure push(var p: PNode; r: Real);
var
  t: PNode;
begin
  New(t); t^.r:=r;
  t^.next:=p; p:=t;
end;
 
function pop(var p: PNode): Real;
var
  t: PNode;
begin
  if p=nil then RunError(201);
  pop:=p^.r;
  t:=p; p:=p^.next;
  Dispose(t);
end;
 
procedure print(p: PNode);
begin
  while p<>nil do begin
    Write(p^.r:8:2);
    p:=p^.next;
  end; WriteLn;
end;
 
var
  stk: PNode;
  i, n: integer;
begin
  stk:=nil;
  Randomize;
  Write('Введите количество чисел: '); ReadLn(n);
  for i:=1 to n do push(stk, 500-Random*1000);
  print(stk);
  for i:=1 to n do pop(stk);
end.
Добавлено через 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
type
  PNode=^TNode;
  TNode=record
    next: PNode;
    r: Real;
  end;
 
procedure push(var p: PNode; r: Real);
var
  t: PNode;
begin
  New(t); t^.r:=r;
  t^.next:=p; p:=t;
end;
 
function pop(var p: PNode): Real;
var
  t: PNode;
begin
  if p=nil then RunError(201);
  pop:=p^.r;
  t:=p; p:=p^.next;
  Dispose(t);
end;
 
var
  stk: PNode;
  i, n: integer;
begin
  stk:=nil;
  Randomize;
  Write('Введите количество чисел: '); ReadLn(n);
  for i:=1 to n do push(stk, 500-Random*1000);
  for i:=1 to n do Write(pop(stk):8:2); WriteLn;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2014, 13:10

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

Найти сумму всех целых чисел от a до 500 (значение a вводится с клавиатуры; a<=500)
Помогите решить задание плизз) Ну, 3 раза уже перездавал все задачи, а учитель говорит, что...

Создать в динамической памяти односвязный список типа «стек» из случайных вещественных чисел
Создать в динамической памяти односвязный список типа «стек» из случайных вещественных чисел (-500,...

Создать в динамической памяти односвязный список типа «очередь» из случайных целых чисел
Динамические структуры данных: Создать в динамической памяти односвязный список типа «очередь» из...

Динамические структуры. Создать в динамической памяти односвязный список типа «кольцо»
1. Создать в динамической памяти односвязный список типа «кольцо» из символьных данных...


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

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

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