как узнать размер строки в массиве? -
x_O - 14.03.2013
есть такой массив:
pawn Код:
new a[][] = {
{1, 2, 3, 4},
{5,6,7,8,9,10,11,12,13,14,15},
{16,17}
};
Как узнать с помощью оператора sizeof размер (количество столбцов) нужной строки?
Re: как узнать размер строки в массиве? -
Alexander_Petrov - 14.03.2013
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 размер (количество столбцов) нужной строки?
|
Никак, размер для всех строк одинаковый.
Re: как узнать размер строки в массиве? -
x_O - 14.03.2013
Quote:
Originally Posted by Alexander_Petrov
Никак, размер для всех строк одинаковый.
|
Есть альтернативные варианты? Не обязательно через sizeof ... Мне надо узнать сколько цифр в нужном поле ...
Re: как узнать размер строки в массиве? -
Alexander_Petrov - 14.03.2013
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 ячейки.
Re: как узнать размер строки в массиве? -
x_O - 14.03.2013
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 ячейки.
|
спасибо
Re: как узнать размер строки в массиве? -
AirKite - 14.03.2013
Или например если в ячейках не будут использоваться нули, то можно в каждый конец добавить 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
Способ будет удобнее тем, что не придётся каждый раз править первую цифру.