SA-MP Forums Archive
TOP 10 - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: TOP 10 (/showthread.php?tid=129319)



TOP 10 - ^Woozie^ - 21.02.2010

Как выбрать 10 лучших игроков на сервере? Например по фрагам.
Есть функция которая выбирает лучшего игрока, но там ппц строчек на 150 выходит выяснение 10 лучших игроков. Хотелось бы как нибудь попроще.


Re: TOP 10 - MX_Master - 21.02.2010

в полезных функциях была сортировка чисел в массиве методом пузырька.. пойдет? (:


Re: TOP 10 - ^Woozie^ - 21.02.2010

дай линк на сообщение, посмотрим что там.


Re: TOP 10 - MX_Master - 22.02.2010

Quote:
Originally Posted by ^Psycho^
дай линк на сообщение, посмотрим что там.
етить, поеск па разделу русского слова = ерундень
глянь вручную по той теме, страниц мало


Re: TOP 10 - ^Woozie^ - 22.02.2010

наебал ты меня!


Re: TOP 10 - MX_Master - 22.02.2010

Quote:
Originally Posted by ^Psycho^
наебал ты меня!
да было там, точняг, клюянусь своим правым домашним тапочком (:
не помню кто давал код, скрезол


Re: TOP 10 - ZiGGi - 22.02.2010

сами напишите сортировку)) лано я ща сам напишу


Re: TOP 10 - MX_Master - 22.02.2010

Надо покопать инет, самая быстрая сортировка должна же быть..


Re: TOP 10 - CracK - 22.02.2010

у меня на сервере данные по 100 местам хранятся в файле, потом подгружаются в массивы.
при дисконнекте игрока проверяется его положение по фрагам\смертям и.т.п. в соответствием с данными в массивах)


Re: TOP 10 - ZiGGi - 22.02.2010

как и обещал:
Code:
for(i=0;i<COUNT;i++)
{
    for(j=0;j<COUNT-1;j++)
    {
       if(massiv[j]>massiv[j+1])
       {
           c = massiv[j];
           massiv[j] = massiv[j+1];
           massiv[j+1] = c;
       }
    }
}
скрипт для теста:
Code:
#include <a_samp>

#define COUNT 20
new massiv[COUNT] = {20,47,12,4,36,88,42,15,11,36,54,78,63,12,47,89,12,34,30,22}; // наш тестовый массив

main(){}

public OnGameModeInit()
{
	new i,j,c;
	for(i=0;i<COUNT;i++)
	{
	  printf("%d:%d",i,massiv[i]);
	}
	// сортировка
	for(i=0;i<COUNT;i++)
	{
	  for(j=0;j<COUNT-1;j++)
	  {
	    if(massiv[j]>massiv[j+1])
	    {
	      c = massiv[j];
	      massiv[j] = massiv[j+1];
	      massiv[j+1] = c;
			}
		}
	}
  print("Отсортированный массив:");
	// вывод
	for(i=0;i<COUNT;i++)
	{
	  printf("%d:%d",i,massiv[i]);
	}
	return 1;
}
этот способ не самый эффективный, но самый простой)


Re: TOP 10 - Riaz - 22.02.2010

Тебе на GTA-Script это рассказывали xD Да мб там и больше, но хз, лично тот юзаю способ и нормально. Надо опробовать постом выше


Re: TOP 10 - MX_Master - 22.02.2010

Сходите в википедию на страницу "Быстрая_Сортировка".. да и ваще там куча алгоритомв описаны. Даж на С примеры есь, что как раз может тут подойти с небольшой переделкой под PAWN.