Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
91111111111
1 / 1 / 1
Регистрация: 07.11.2012
Сообщений: 52
1

Описать процедуру или функцию, которая оставляет в списке L только первые вхождения одинаковых элементов

08.01.2014, 11:01. Просмотров 655. Ответов 1
Метки нет (Все метки)

Описать процедуру или функцию, которая оставляет в списке L только первые вхождения одинаковых элементов.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 11:01
Ответы с готовыми решениями:

Описать процедуру или функцию которая проверяет на равенство списки A и B
Описать процедуру или функцию которая проверяет на равенство списки A и B....

Описать процедуру или функцию,которая определяет число вхождений элемента Е в дерево T
Привет всем,оч. нужна помощь в этих задачках 1) Описать функцию или...

Описать функцию или процедуру, находящую среднее арифметическое элементов списка
Описать функцию или процедуру, которая находит среднее арифметическое элементов...

Описать процедуру в списке
Описать процедуру, которая а) формирует список L, включив в него по одному разу...

Написать рекурсивную процедуру или функцию, которая определяет, входит ли элемент в дерево T
По таблице написать рекурсивную процедуру или функцию, которая определяет,...

1
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26372 / 17695 / 7006
Регистрация: 22.10.2011
Сообщений: 31,149
Записей в блоге: 6
08.01.2014, 12:26 2
Лучший ответ Сообщение было отмечено volvo как решение

Решение

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
type
  TData = integer;
 
  PNode = ^TNode;
  TNode = record
    Data : TData;
    Next : PNode;
  end;
 
  TList = record
    Head, Tail : PNode;
  end;
 
procedure AddItem(var L : TList; Value : TData);
var p : PNode;
begin
  new(p);
  p^.Data := Value;
  p^.Next := nil;
  if L.Head = nil then
    L.Head := p
  else
    L.Tail^.Next := p;
  L.Tail := p;
end;
 
procedure CreateList(var L : TList);
var
  i, n, X : integer;
begin
  L.Head := nil; L.Tail := nil;
 
  write('N = '); readln(n);
  for i := 1 to n do
  begin
    write('Item #', i:2, ' = '); readln(X);
    AddItem(L, X);
  end;
end;
 
procedure DestroyList(L : TList);
var p, T : PNode;
begin
  p := L.Head;
  while p <> nil do
  begin
    T := p;
    p := p^.Next;
    Dispose(T);
  end;
end;
 
procedure PrintList(L : TList);
var p : PNode;
begin
  p := L.Head;
  while p <> nil do
  begin
    write(p^.Data:4);
    p := p^.Next;
  end;
  writeln;
end;
 
procedure DoIt(var L : TList); // Вот это - та самая процедура
var p, q, T : PNode;
begin
  p := L.Head;
  while p <> nil do
  begin
    q := p^.Next;
    while (q <> nil) and (p^.Data = q^.Data) do
    begin
      if q^.next = nil then L.Tail := p;
      T := q; q := q^.Next; Dispose(T); p^.next := q;
    end;
    p := p^.Next;
  end;
end;
 
var
  L : TList;
 
begin
  CreateList(L);
  PrintList(L);
 
  DoIt(L);
  AddItem(L, 777); // для проверки, что "хвост" списка нормально обрабатывается
 
  PrintList(L);
  DestroyList(L);
end.
Результат работы программы:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
N = 10
Item # 1 = 2
Item # 2 = 2
Item # 3 = 1
Item # 4 = 12
Item # 5 = 12
Item # 6 = 27
Item # 7 = 10
Item # 8 = 1
Item # 9 = 1
Item #10 = 1
   2   2   1  12  12  27  10   1   1   1
   2   1  12  27  10   1 777
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 12:26

Найти ошибку в программе. Написать процедуру или функцию, которая вычисляет значение выражения f(x).
1. Найти область допустимых значений аргумента x. 2. Написать процедуру или...

Опишите рекурсивную функцию или процедуру, которая печатает дерево-формулу Т в виде, соответствующей формулы
Формулу вида &lt;формула&gt;::=&lt;терминал&gt;|(&lt;формула&gt;&lt;знак&gt;&lt;формула&gt;)...

Используя стек, написать процедуру или функцию, которая определяет количество вхождений буквы Е в файл
Используя стек, написать процедуру или функцию, которая определяет количество...


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

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

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