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

    Статус
    Оффлайн
    Регистрация
    03.04.2020
    Сообщений
    5
    Репутация:
    0 ±

    Многомерный массив

    Привет.
    Есть массив

    Код:
    new const multiplyZones[][][] = {
    	{ "65", "16", "10", "31", "15", "32" },
    	{ "42", "43", "14", "17" },
    	{ "52", "1", "54" },
    	{ "41", "40", "21", "55", "18" },
    	{ "28", "11" },
    	{ "56", "57" },
    	{ "0", "24" },
    	{ "25", "29", "28" },
    	{ "9", "53" },
    	{ "2", "3" },
    	{ "4", "20" },
    	{ "19", "20",  "46", "44" },
    	{ "7", "27" },
    	{ "26", "30" },
    	{ "34", "35", "39" },
    	{ "58", "59", "66" },
    	{ "33", "12", "13" },
    	{ "47", "48", "45", "50", "49" }
    };
    Как правильно сделать?
    Я пробовал, вот мой вариант (нерабочий):

    Код:
    for(new i = 0; i < sizeof(multiplyZones); i++)
    {
         for(new j = 0; j < sizeof(multiplyZones[]); j++)
        {
    	    printf(multiplyZones[i][j]);
         }
    }
    Хочу вывести каждое значение из каждой ячейки

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

    Статус
    Оффлайн
    Регистрация
    19.01.2020
    Сообщений
    69
    Репутация:
    8 ±
    PHP код:
    new const 
                   
    g_multiply_zones[][] =
            {
                   {
    651610311532},
                   {
    42431417},
               {
    52154},
               {
    4140215518},
               {
    2811},
               {
    5657},
               {
    024},
               {
    252928},
               {
    953},
               {
    23},
               {
    420},
               {
    19204644},
               {
    727},
               {
    2630},
               {
    343539},
               {
    585966},
               {
    331213},
               {
    4748455049}
            };

           for(new 
    idx sizeof g_multiply_zones 1idx -- > - 1;)
           {
                for(new 
    idx_1 sizeof g_multiply_zones[] - 1idx_1 -- > - 1;)
                {
                      
    printf("g_multiply_zones[%d][%d]"idxidx_1);
                }
            }

         
    // прощу прощение за tabulation 
    Последний раз редактировалось Shaolinka; 03.04.2020 в 15:34. Причина: lol kek xd

  3. #3
    Аватар для whybladez
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.04.2020
    Сообщений
    5
    Репутация:
    0 ±
    warning 224: indeterminate array size in "sizeof" expression (symbol "")
    строка: for(new idx_1 = sizeof g_multiply_zones[] - 1; idx_1 -- > - 1;)

    - - - Добавлено - - -

    Код:
    new
    	multiplyZones[MAX_MULTIPLY_ZONES][6] = {
    		{ 65, 16, 10, 31, 15, 32 },
    		{ 42, 43, 14, 17, 0, 0},
    		{ 52, 1, 54, 0, 0, 0},
    		{ 41, 40, 21, 55, 18, 0 },
    		{ 28, 11, 0 , 0 , 0 ,0 },
    		{ 56, 57,0,0,0,0 },
    		{ 0, 24 ,0,0,0,0},
    		{ 25, 29, 28,0,0,0 },
    		{ 9, 53,0,0,0,0 },
    		{ 2, 3,0,0,0,0},
    		{ 4, 20,0,0,0,0 },
    		{ 19, 20,  46, 44,0,0 },
    		{ 7, 27 ,0,0,0,0},
    		{ 26, 30,0,0,0,0 },
    		{ 34, 35, 39,0,0,0},
    		{ 58, 59, 66,0,0,0},
    		{ 33, 12, 13,0,0,0 },
    		{ 47, 48, 45, 50, 49, 0 }
    	};

    Код:
    for ( new index = 0; index < MAX_MULTIPLY_ZONES; index++ )
        {
    		for(new i = 0; i < 6; i++)
    		{
    		    if(multiplyZones[index][i] != 0)
            		printf("Строка: %d, Столбец: %d, Значение: %d",index, i, multiplyZones[index][i]);
    		}
        }
    сделал так, просто указал точное количество столбцов и в ненужных столбцах прописал 0
    хотя бы работает, но конечно может есть получше способ?)

  4. #4
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от whybladez Посмотреть сообщение
    warning 224: indeterminate array size in "sizeof" expression (symbol "")
    строка: for(new idx_1 = sizeof g_multiply_zones[] - 1; idx_1 -- > - 1;)
    Укажи размер массиву g_multiply_zones при создании.

  5. #5
    Аватар для Shaolinka
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.01.2020
    Сообщений
    69
    Репутация:
    8 ±
    Данный вариант наиболее оптимальный для перебора, можешь использовать while, do while

 

 

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

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

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

Ваши права

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