Показать сообщение отдельно
  #21  
Старый 22.11.2010, 23:26
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Что делает этот код:
Идем от конца массива к началу. Берем элемент a[i]. Сравниваем его со всеми из a[1..i-1]. Если есть хоть одно совпадение - удаляем найденный элемент, ставим флаг, что текущий элемент a[i] имеет повторки и идем дальше сносить повторки (если еще есть).
Потом смотрим: если повторки были (fl=true), значит и сам текущий элемент надо снести.

А в каком смысле
Цитата:
Сообщение от flips
и что именно у меня было неправильно кроме как я понял условия.
Что было неправильно в самом начале? Там получалось, что сравниваются только соседние элементы (a[i]=a[i+1]). Т.е. если массив вида
1 2 3 4 4 5 6 - то он снесет одну четверку, а у второй уже не будет пары. а если 1 2 3 4 5 4 6 - то вообще ниче не снесет.
Ну это я так понял.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием