Piszę funkcję w której sortuje i hashuje wynik, żeby szybciej móc przeszukiwać tablice, problem być może trywialny, ale nie wiem dlaczego dla danych np 10 20 30 50 40
zwraca mi wynik zły, a dla danych 1 2 3 4 5 wszystko jest w porządku. Jakbym gdzieś wychodził poza zakres. Według debuggera sortowanie zachodzi poprawnie. Może wynik w jakiś nieznany dla mnie sposób nie jawnie się rzutuje?
unsigned long long int SortujHashuj(int tmp[5])
{
for (int i = 1; i < 5; i++)
{
int j = i;
while (j > 0 && j<5)
{
if (tmp[j] < tmp[j - 1])
swap(tmp[j],tmp[j - 1]);
j--;
}
}
long long int wynik = tmp[0] + tmp[1] * 100 + tmp[2] * 10000 + tmp[3] * 1000000 + tmp[4] * 100000000;
return wynik;
}