Size: a a a

2020 March 03

DB

Dmitry Belkevich in Delphi & Lazarus
RusEm
Простая аналогия - в телефоне есть номер Алексей  с номером А. Есть запись Алексей И. С номером б. И запись Алексей Игоревич  с номерами А и Б. Логично что последняя запись  наиболее полная. А первые две надо удалить
сделай 'веса' у записей (эвристически, врятли тут что-то лучше можно придумать). те записи, которые наиболее весомые - оставляй. остальные удаляй
источник

DB

Dmitry Belkevich in Delphi & Lazarus
тебе нужна какая-то метрика, которая бы показывала полноту записи. думай как лучше это сделать
источник

AS

Alexey Shumkin in Delphi & Lazarus
RusEm
Это не база. Как я говорил выше я не могу повлиять на формат исходных данных. Я только делаю процессинг
откуда у тебя берутся "исходные данные" в виде записей паскаля? это ж ТЫ их записываешь в таком виде? )
источник

SB

Sergey Bodrov in Delphi & Lazarus
RusEm
добрый день господа.  у менятут появился вопрос. он больше по алгоритмама, чем делфи, но все же. Может кто натолкнет на мысль. Есть у меня массив записей (record).  у каждой записи есть 8  одинаковых полей с номером. по сути это справочник абонентов. То ст ьу одного абонента может бть от 1 до 8 номеров. Ивот стокнулся с ситуацией когда надо почистить дубликаты.  С полными копиями нет проблем. их нахожу простейше и удаляю, но вот столкнулся что есть к примеру три записи.  Пусть 1 запись имеет 1 номер - А. вторая запись имеет 1 номер- Б. и третья запись имеет 2 номера - А и Б.  ЛИбо другой случай - есть две записи с оинаковыми номерами но в разной последовательности. Может кто подскажет идейку как это детектить и удалять дубликаты?
Можно перекинуть все в список вида <номер>=<абонент>, отсортировать по номерам и сразу все будет очевидно.
источник

GB

George Bakhtadze in Delphi & Lazarus
RusEm
Это не база. Как я говорил выше я не могу повлиять на формат исходных данных. Я только делаю процессинг
сперва надо однозначно сформулировать критерии фильтрации
источник

R

RusEm in Delphi & Lazarus
Sergey Bodrov
Можно перекинуть все в список вида <номер>=<абонент>, отсортировать по номерам и сразу все будет очевидно.
Так не прокатит в силу того что будет Алексей игоревич с номером а и Алексей игоревич с номером б. И будет Алексей с номером а. Какую из двух записей с номером а удалять?
источник

AS

Alexey Shumkin in Delphi & Lazarus
George Bakhtadze
сперва надо однозначно сформулировать критерии фильтрации
+
особенно с учётом
https://t.me/Delphi_Lazarus/113808
из которой ваще непонятно )
источник

SB

Sergey Bodrov in Delphi & Lazarus
Ну тогда сделай еще такой же список, отсорованый по абонентам.
источник

R

RusEm in Delphi & Lazarus
Alexey Shumkin
откуда у тебя берутся "исходные данные" в виде записей паскаля? это ж ТЫ их записываешь в таком виде? )
Я их в таком виде гружу из файла
источник

AS

Alexey Shumkin in Delphi & Lazarus
RusEm
Я их в таком виде гружу из файла
теперь ты знаешь, что почти никогда не надо использовать входящий формат данных как внутренний ))
источник

R

RusEm in Delphi & Lazarus
Но даже если преобращовываать  в записи вида имя-номер, останется вопрос сборки данных назад.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Я бы удалял не у кого меньше номеров, а у кого короче имя.
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
зачем собирать
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
ты айдишник удаляемых запоминай, и удаляй их в исходнике. по айдишнику
источник

R

RusEm in Delphi & Lazarus
Sergey Bodrov
Я бы удалял не у кого меньше номеров, а у кого короче имя.
А если, будет с точностью наоборот? Тот у кого имя короче - у того больше номеров?
источник

R

RusEm in Delphi & Lazarus
Дмитрий texnix 🇨🇳
ты айдишник удаляемых запоминай, и удаляй их в исходнике. по айдишнику
Так у некоторых записей по несколько номеров
источник

GB

George Bakhtadze in Delphi & Lazarus
RusEm
Но даже если преобращовываать  в записи вида имя-номер, останется вопрос сборки данных назад.
имя кстати на все 8 телефонов одно? где оно? в отделном поле той же записи?
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
RusEm
Так у некоторых записей по несколько номеров
так у них одинаковый айдишник
источник

R

RusEm in Delphi & Lazarus
George Bakhtadze
имя кстати на все 8 телефонов одно? где оно? в отделном поле той же записи?
Да. Имя одно на все 8 телфонов.
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
имя=айдишник
источник