Algorytm sortowania z zapisem do pliku

0

Witam. Napisałem algorytm sortowania lecz nie działa on poprawnie. Co w nim mogę zmienić aby działał stabilnie?

ofstream Rank("ranking.txt", ios::trunc);	

for(int i=0; i<10; i++)	{
	if((zwroconePunkty > (rank[i].rankPunkty())) && k) {
		Rank << nick << setw(20) << zwroconePunkty << endl;
		k--;
	}

	else 
		Rank << rank[i] << endl;
}

gdzie zwroconePunkty - ilość punktów zdobytych przez gracza
** rank[i]** - tablica 10 najlepszych rekordów

0

Co jest z nim nie tak?
Próbowałeś pójść z nim do lekarza? :P

0

Chodzi o to, że jak mam bazę rekordów, przykładowo takich:
56
34
20
5
to jeżeli nowy gracz zdobędzie 70pktów to zastępuje tego który uzyskał 56pktów zamiast go przesunąć w dół.

1

Źle to napisałeś. Trzeba było zaktualizować tablicę rank i ją zapisać normalnie zamiast kombinować przy zapisie.

Jeśli jednak się upierasz, przy swoim rozwiązaniu:

ofstream Rank("ranking.txt", ios::trunc);        
int i;
for(i=0; i<10; i++) {
    if(zwroconePunkty > rank[i].rankPunkty()) { 
        Rank << nick << setw(20) << zwroconePunkty << endl;
        break;
   }
   Rank << rank[i] << endl;
}
for(; i<9; i++)
   Rank << rank[i] << endl;

1 użytkowników online, w tym zalogowanych: 0, gości: 1