PDA

Просмотр полной версии : [Вопрос] Как правильно вывести ТОП-3?



Union
24.04.2019, 00:08
Наколдовал, что-то, не знаю как правильно сделать. Не всегда выводится ТОП-3 бывает покажет только 1 игрока


new _data[MAX_PLAYERS][1];
new temp[MAX_PLAYERS];
main()
{
for(new i = 0; i < 5; i++)
{
_data[i][0] = random(300)+10;
temp[i] = _data[i][0];
}

Sort(temp);

for(new i = 0, j = 0; i < MAX_PLAYERS; i++)
{
if(_data[i][0] == temp[j])
{
printf("SCORE: %d ", temp[j]);
j++;
i = 0;
if(j == 3) break;
}
}
}

stock Sort(array[], size = sizeof array)
{
for(new i = 1, swap; i != size;)
{
if(array[i-1] >= array[i]) i++;
else
{
swap = array[i];
array[i] = array[i-1];
array[i-1] = swap;
--i;
if(i == 0) i = 1;
}
}
}

DeimoS
24.04.2019, 09:30
http://pro-pawn.ru/showthread.php?6836-s-%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B-%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8&highlight=%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0

Union
24.04.2019, 09:46
DeimoS, спасибо, но уже решил. Не успел написать.