Заказать Сервер Заказать Плагин Контакты Поиск

[ вход ]
[ последние сообщения ]

Страница 1 из 11
Форум » SourceMod - Counter Strike Source && CS GO » Уроки SourceMod (SourcePawn) Скриптинга » Сортировка по возрастанию/убыванию/случайно (SortIntegers, SortFloats, SortStrings)
Сортировка по возрастанию/убыванию/случайно
_wS_ Дата: Понедельник, 02.04.2012, 00:05:23 | Сообщение # 1
SortIntegers(array[], array_size, <тип сортировки>); - сортировка целых чисел
SortFloats(array[], array_size, <тип сортировки>); - с точкой
SortStrings(String:array[][], <кол-во строк>, <тип сортировки>); - строк

Тип сортировки:

Sort_Ascending - по возрастанию
Sort_Descending - убыванию
Sort_Random - в случайном порядке

Пример с SortIntegers:

Code
#include <sourcemod>

public OnPluginStart()
{
     new my_array[5] = {3, 9, 1, 7, 5};

     SortIntegers(my_array, 5, Sort_Ascending);
     PrintToServer("Sort_Ascending:");
     for (new i = 0; i < 5; i++) PrintToServer("%d", my_array[i]);

     PrintToServer(" ");

     SortIntegers(my_array, 5, Sort_Descending);
     PrintToServer("Sort_Descending:");
     for (new i = 0; i < 5; i++) PrintToServer("%d", my_array[i]);

     PrintToServer(" ");

     SortIntegers(my_array, 5, Sort_Random);
     PrintToServer("Sort_Random:");
     for (new i = 0; i < 5; i++) PrintToServer("%d", my_array[i]);
}


Результат:

Quote
Sort_Ascending:
1
3
5
7
9

Sort_Descending:
9
7
5
3
1

Sort_Random:
9
5
3
7
1


Пример с SortFloats:

Code
#include <sourcemod>

public OnPluginStart()
{
     new Float:my_array[5] = {3.0, 9.0, 1.0, 7.0, 5.0};

     SortFloats(my_array, 5, Sort_Ascending);
     PrintToServer("Sort_Ascending:");
     for (new i = 0; i < 5; i++) PrintToServer("%.1f", my_array[i]);

     PrintToServer(" ");

     SortFloats(my_array, 5, Sort_Descending);
     PrintToServer("Sort_Descending:");
     for (new i = 0; i < 5; i++) PrintToServer("%.1f", my_array[i]);

     PrintToServer(" ");

     SortFloats(my_array, 5, Sort_Random);
     PrintToServer("Sort_Random:");
     for (new i = 0; i < 5; i++) PrintToServer("%.1f", my_array[i]);
}


Пример с SortStrings (Сортировка по алфавиту. Учитывается первая буква слова) :

Code
#include <sourcemod>

public OnPluginStart()
{
     new String:my_array[5][] = {"alisa", "baby", "clock", "drive", "enot"};

     SortStrings(my_array, 5, Sort_Ascending);
     PrintToServer("Sort_Ascending:");
     for (new i = 0; i < 5; i++) PrintToServer("%s", my_array[i]);

     PrintToServer(" ");

     SortStrings(my_array, 5, Sort_Descending);
     PrintToServer("Sort_Descending:");
     for (new i = 0; i < 5; i++) PrintToServer("%s", my_array[i]);

     PrintToServer(" ");

     SortStrings(my_array, 5, Sort_Random);
     PrintToServer("Sort_Random:");
     for (new i = 0; i < 5; i++) PrintToServer("%s", my_array[i]);
}


Результат:

Quote
Sort_Ascending:
alisa
baby
clock
drive
enot

Sort_Descending:
enot
drive
clock
baby
alisa

Sort_Random:
enot
clock
baby
alisa
drive
 
Форум » SourceMod - Counter Strike Source && CS GO » Уроки SourceMod (SourcePawn) Скриптинга » Сортировка по возрастанию/убыванию/случайно (SortIntegers, SortFloats, SortStrings)
Страница 1 из 11
Поиск: