Ошибка в удалении дубликатов, структура.
Добавлено: 04 фев 2005, 17:58
Не работает функция для удаления дубликатов, копирования их в одну с суммированием в структуре. Уже всю голову поломал, где что не так?
Код: Выделить всё
int c_login=0;
if(rgitems>0) // Если есть данные
{
for(i=0;i<rgitems;i++) // начинаем перебор в структуре
{
count=1; // счет позиций
c_login=ptr[i].login; // берем логин
for (int n=i+1;n<rgitems; n++) // начинаем искать дальше в стуктуре
{ // следующие данные после логина
if(ptr[n].login==c_login) // если логины дальше совпадают
{
ptr[i].volume+=ptr[n].volume; // складываем лоты
ptr[i].profit+=ptr[n].profit; // складываем профит
count++; // счет позиций увеличиваем на одну
for (int z=n;z<rgitems; z++) // удаляем эту запись из структуры
{
ptr[z]=ptr[z+1]; // затираем предыдущую
}
rgitems-=1; // уменьшаем количество в структуре
}
}
}
fclose(fso);
}
printf(" There are '%d'.\nSorting... ", rgitems);