Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для Alexok
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Сообщений
    9
    Репутация:
    1 ±

    Обращение к элементу массива

    Предположим, у нас есть некий массив. Его структура:
    PHP код:
    enum E_TEST_STRUCT
    {
         
    T_ID,
         
    T_LIST[5]
    };

    new 
    g_test[][E_TEST_STRUCT] =
    {
         {
    0, {00000}},
         {
    1, {13961}}
    }; 
    Задача в состоит в том, чтобы вывести случайное число (1, 3, 9, 6 или 1) из элемента массива T_LIST[5] внутри массива g_test.
    Пробовал различные махинации, любимый Pawn либо ругается, либо всегда выводит лишь первое число (1).

  2. #2
    Аватар для nekaz
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.02.2014
    Сообщений
    19
    Репутация:
    0 ±
    1. T_LIST[6]. А-ля с 0 начинаем счет.
    2. функция random. g_test[1][T_ID], g_test[1][T_LIST][random(5)]. Где 1 - строка({0, {0, 0, 0, 0, 0}}, или {1, {1, 3, 9, 6, 1}} (в нашем случаи). где random(5) - рандомно выберем с строки значение.

  3. #3
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Примерно то же самое, что и объяснили выше, но для большей надёжности советую завести константу под размер массива.
    Подробности можете узнать здесь, см. пункт 7.
    PHP код:
    #include <a_samp>

    const TLIST_SIZE 5;
    enum E_TEST_STRUCT
    {
         
    tID,
         
    tList[TLIST_SIZE]
    };
    new 
    g_test[][E_TEST_STRUCT] =
    {
         {
    0, {00000}},
         {
    1, {13961}}
    };

    main()
    {
        
    printf("random element: %d"g_test[1][tList][random(TLIST_SIZE)]);

    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  4. Пользователь сказал cпасибо:
    Battista (30.11.2016)
  5. #4
    Аватар для Alexok
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Сообщений
    9
    Репутация:
    1 ±
    Благодарю, проблема успешно решена. Видимо, был настолько сонным, что не смог сделать элементарную вещь.

    Прошу модераторов закрыть тему.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •