Co jest źle w tym kodzie, że źle tworzy listę inwersyjną ? przy 1k rekordów podaje kilka razy jeno imie, losowo... a powinien chyba wypisyć wszystkie mozliwe?
struct polaPocz
{
int nr_pola;
string wartosc;
long waga;
vector<long>lista_inw ; //przetrzymuej nr rekordów
};
polaPocz * Tpocz[10000];
int ilosc=0;
int i,j,k;
for(i=0; i<Form1->tabela->RowCount-1; i++) //tabela to stringgrid
{
for (j=0; j<ilosc; j++)
{
if (Tpocz[j]->wartosc==Form1->dane[i].imie.c_str())
{
Tpocz[j]->waga++;
Tpocz[j]->lista_inw.push_back(i);
break;
}
}
if (j>=ilosc)
{
Tpocz[ilosc]=new polaPocz;
Tpocz[ilosc]->wartosc=Form1->dane[i].imie.c_str(); // dane imie to rekord
Tpocz[ilosc]->waga=1;
Tpocz[ilosc]->lista_inw.push_back(i);
ilosc++;
}
}