Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> процедура 
:(
    Опции темы
bagos
Дата 27.12.2008, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 17.6.2006

Репутация: нет
Всего: 1



Программисты выручайте, в си слабоват, очень нужно перевести процедуру, написанную на дельфах на язык cpp.
Заранее Благодарен!

Код

procedure RemoveDupStrings(Strings: TStrings);
var
i, j: Longint;
begin
i := 0;
Strings.BeginUpdate;
try
repeat
for j := Strings.Count-1 downto i+1 do
if CompareText(Strings[i], Strings[j]) = 0 then
Strings.Delete(j);
inc(i);
until (i >= Strings.Count-1);
finally
Strings.EndUpdate;
end;
end;

PM MAIL   Вверх
bsa
Дата 29.12.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Код
void RemoveDupStrings(TStrings &strings)
{
   strings.BeginUpdate();
   try {
      for(long i = 0; i < strings.Count() - 1; ++i) {
         for(long j = i+1; j < strings.Count();) {
            if (!CompareText(strings[i], strings[j]) )   //если строки равны
               strings.Delete(j);   //удаляем дубликат
            else   //иначе
                ++j;   //переходим к следующей
         }
      }
   }catch(...) {}
   strings.EndUpdate();
}
Я немного изменил порядок работы с целью добавления наглядности и исправления лишнего прохода цикла при пустом списке.

Это сообщение отредактировал(а) bsa - 29.12.2008, 12:04
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.