как узнать размер строки в массиве?
#1

есть такой массив:

pawn Код:
new a[][] = {
        {1, 2, 3, 4},
        {5,6,7,8,9,10,11,12,13,14,15},
        {16,17}
    };
Как узнать с помощью оператора sizeof размер (количество столбцов) нужной строки?
Reply
#2

Quote:
Originally Posted by x_O
Посмотреть сообщение
есть такой массив:

pawn Код:
new a[][] = {
        {1, 2, 3, 4},
        {5,6,7,8,9,10,11,12,13,14,15},
        {16,17}
    };
Как узнать с помощью оператора sizeof размер (количество столбцов) нужной строки?
Никак, размер для всех строк одинаковый.
Reply
#3

Quote:
Originally Posted by Alexander_Petrov
Посмотреть сообщение
Никак, размер для всех строк одинаковый.
Есть альтернативные варианты? Не обязательно через sizeof ... Мне надо узнать сколько цифр в нужном поле ...
Reply
#4

Quote:
Originally Posted by x_O
Посмотреть сообщение
Есть альтернативные варианты? Не обязательно через sizeof ... Мне надо узнать сколько цифр в нужном поле ...
Или циклом, или записывать количество в отдельный массив, или в этот же самый первым числом, пример последнего ниже.
pawn Код:
new a[][] = {
    {4, 1, 2, 3, 4},
    {11, 5,6,7,8,9,10,11,12,13,14,15},
    {2, 16,17}
};
Причем первое число также является номером ячейки последнего. Необходимо еще не забывать, что сами числа теперь будут начинаться с 1 ячейки.
Reply
#5

Quote:
Originally Posted by Alexander_Petrov
Посмотреть сообщение
Или циклом, или записывать количество в отдельный массив, или в этот же самый первым числом, пример последнего ниже.
pawn Код:
new a[][] = {
    {4, 1, 2, 3, 4},
    {11, 5,6,7,8,9,10,11,12,13,14,15},
    {2, 16,17}
};
Причем первое число также является номером ячейки последнего. Необходимо еще не забывать, что сами числа теперь будут начинаться с 1 ячейки.
спасибо
Reply
#6

Или например если в ячейках не будут использоваться нули, то можно в каждый конец добавить EOS и получать количество через strlen.

pawn Код:
//
new a[][] = {
    {1, 2, 3, 4, EOS},
    {5,6,7,8,9,10,11,12,13,14,15, EOS},
    {16,17, EOS}
};
   
    //strlen(a[2]) вернёт 2
Способ будет удобнее тем, что не придётся каждый раз править первую цифру.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)