Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Delphi Работа с Динамическим массивом эдитов Доброго времени суток! Подскажите в таком вопросе: На форме есть memo и buton, в memo мы вводим число нажимаем на buton и создаются edit'ы столько сколько мы указали. Работает все хорошо, но мне... https://www.cyberforum.ru/ delphi-beginners/ thread800844.html Delphi Вычисление суммы цифр целого трехзначного числа
составить программу для вычисления суммы цифр целого трехзначного числа. Экран должен выглядеть Введите целое число: 345 3 +4 +5 = 12
Delphi Нахождение произведений https://www.cyberforum.ru/ delphi-beginners/ thread800821.html
Помогите пожалуйста решить задачу)
Delphi Описать процедуру swap(A,B), меняющую местами максимальные элементы матриц А и В https://www.cyberforum.ru/ delphi-beginners/ thread800817.html
написал программу Задание: const n=...;{целые константы>1} type матрица= array of real; Описать процедуру swap(A,B), меняющую местами максимальные элементы матриц А и В. (Считать, что в...
Delphi Чтение двунаправленного списка из файла
Как организовать, учитывая, что у меня есть type TStudentPtr = ^TStudent; // Это указатель на студента TStudent = record // Это студент Name: string; Name:string; c:1..10; Group: string;...
Delphi Вызываемый файл с алгоритмом https://www.cyberforum.ru/ delphi-beginners/ thread800783.html
есть такая проблема: есть ряд задач, решение которых выходит в сотни строк , а так как задач много, пихать решение всех задач в одну программу не хотелось бы сам алгоритм , для решения конкретной...
Delphi Треугольник задан координатами вершин Треугольник задан координатами вершин. Определите, принадлежит ли точка с заданными координатами области треугольника. Поместите на форме треугольник с точкой. https://www.cyberforum.ru/ delphi-beginners/ thread800750.html Помощь с процедурой вставки элемента в список Delphi
Здравствуйте! Задача заключается в том, чтобы после каждого четного элемента в двумерном списке вставлялся новый элемент на 3 единицы больший за данного четного... Запутался в выполнении, прошу...
Delphi Перевести в Delphi Помогите перевести код С: #include <stdio.h> #include <stdlib.h> #define N 4 int main() { int count, buf, i; char *s = {"output.txt", "in1.txt", "in2.txt", "in3.txt"};/*массив строк... https://www.cyberforum.ru/ delphi-beginners/ thread800710.html Delphi Программа-тест https://www.cyberforum.ru/ delphi-beginners/ thread800683.html
Помогите пожалуйста с реализацией программы:"Сделать тест, не менее чем на 5 вопросов из любой темы. Вопросы имеют 3-4 варианта ответов и выводятся по одному. В конце выводится результат". Очень...
Delphi Запуск от имени админа!
Я хочу сделать программу которая при запуске системы открывал файл Hosts вносил изменения и закрывал его. Мне кажется что проблема в том что он не сможет его открыть и сохранить как полагаться,...
Delphi Зашифровать текст, используя алгоритм шифрования матрицей Зашифровать Слово при помощи матрицы A= 14 8 3 8 5 2 3 2 1 https://www.cyberforum.ru/ delphi-beginners/ thread800670.html
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32571 / 21042 / 8131
Регистрация: 22.10.2011
Сообщений: 36,316
Записей в блоге: 8
05.03.2013, 20:54 0

Список: Удаление всех подряд идущих одинаковых элементов из списка - Delphi - Ответ 4215923

05.03.2013, 20:54. Показов 1746. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено volvo как решение

Решение

список задан так:

Delphi
1
2
3
4
5
6
type
   tlist = ^item;
   item = record
      value : integer;
      prev, next : tlist;
   end;
Удаление всех дубликатов, идущих подряд:

Delphi
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
procedure removeduplicates(var head : tlist);
 
   function removeitem(var head : tlist; p : tlist) : tlist; // доп. функция для удаления одного элемента
   var t : tlist;
   begin
      t := p^.prev;
      if t <> nil then t^.next := p^.next
      else head := p^.next;
 
      t := p^.next;
      if t <> nil then t^.prev := p^.prev;
 
      result := t;
      dispose(p);
      p := nil
   end;
 
var
   p, t : tlist;
   b : boolean;
begin
   p := head;
   b := false;
   while (p <> nil)  do
      if (p^.next <> nil) and (p^.value = p^.next^.value) then
      begin
         b := true;
         removeitem(head, p^.next);
      end
      else
         if b then
         begin
            p := removeitem(head, p);
            b := false;
         end
         else p := p^.next;
end;


Вернуться к обсуждению:
Список: Удаление всех подряд идущих одинаковых элементов из списка Delphi
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2013, 20:54
Готовые ответы и решения:

Удаление подряд идущих одинаковых элементов массива
В целочисленном массиве удалить все подряд идущие одинаковые элементы.

Функция: найти количество троек подряд идущих одинаковых элементов списка
написать функцию, вычисляющую количество троек подряд идущих элементов числового списка, в каждой...

Удаление строк, в которых 3 или более подряд идущих одинаковых элементов
Задана матрица размером NxM. Удалить те строки, в которых встречается 3 или более подряд идущих...

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

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2013, 20:54
Помогаю со студенческими работами здесь

Задача про линию шариков (удаление со сдвигом 3х и более одинаковых подряд идущих)
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется...

Задача про линию шариков (удаление со сдвигом 3х и более одинаковых подряд идущих)
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется...

процедура нахождения подряд идущих одинаковых элементов
Помогите ребят написать процедуру &quot;нахождения группы подряд идущих одинаковых элементов&quot;.А задание...

В списке из подряд идущих одинаковых элементов оставить первый
Дан список из n целых чисел а1, а2, ... , аn. Из группы подряд идущих элементов с одинаковыми...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru