Какой функцией можно посчитать количество членов массива?
Нужно чтобы программа считала количество членов числового массива. какой функцией Си для этого можно воспользоваться?
Трудно быть деревянным, совсем трудно....
- Реклама
и ГДЕ ЖЕ ОНА ????megasvintus писал(а):Массивы динамические.... Сам почесал репу и создал функцию, подсчитывающую количество членов такого массива!Работает четко.
Пришлось, раз уж нет готовой!
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Реклама
Коненчо интересно.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Начал за здравие:

А закончил ...megasvintus писал(а): Работает четко.
megasvintus писал(а): исправлю мелкий глюк.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
непонятен сам смысл такой функции... как может получиться так, что в массиве окажется неизвестное число элементов?! кто их туда засунет, если не программа? а когда программа туда их писать будет - значит, она будет знать, сколько их там...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Пишет их внешний модуль, эти массивы-результат оцифровки разных картинок. Там бывают сотни значений. Я сделал так, что в зависимости от ситуации, основная программа берет нужный массив, вычисляет число его членов для того чтобы знать, когда остановить загрузку данных в жк.
Я не претендую на то, что это шедевр.
Я не претендую на то, что это шедевр.
Трудно быть деревянным, совсем трудно....
внешний модуль - это что, не часть программы? что-то похоже все как-то шиворот-навыворот делается... и потом, нормальные программы пишут разноразмерные данные в структуры:
поле cnt содержит записанное вашим "внешним" моделуем количество элементов в массиве data
и вашей программе достаточно лишь обратиться к этому полю...
я, конечно, не настаиваю... хотя, имхо, ваш способ - это похоже на удаление геморроя через ухо...
Код: Выделить всё
struct{
int cnt;
char *data[];
} my_array_ptr;я, конечно, не настаиваю... хотя, имхо, ваш способ - это похоже на удаление геморроя через ухо...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
массивы вы делайте какие угодно. почему сразу int?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Исправлено.
Тогда придется реализовывать параллельное считывание данных из массива с размерами... Не знаю что проще получается. Сама функция подсчета членов массива занимает 250 кодовых слов.
ARV, вы как всегда, оказались правы... Снимаю шляпу. Проще в софтину внести изменения, чтобы первые 2-3 байта суммировались, таким образом, вычислялось значение размера массива. Тем паче что макс. размер предусматривается в 512 членов.
Тогда придется реализовывать параллельное считывание данных из массива с размерами... Не знаю что проще получается. Сама функция подсчета членов массива занимает 250 кодовых слов.
ARV, вы как всегда, оказались правы... Снимаю шляпу. Проще в софтину внести изменения, чтобы первые 2-3 байта суммировались, таким образом, вычислялось значение размера массива. Тем паче что макс. размер предусматривается в 512 членов.
Трудно быть деревянным, совсем трудно....
если я не ошибаюсь, ваш "сторонний модуль" - это вами же написанная программа? если так, то что вам стоит модифицировать ее так, чтобы сначала она выводила количество данных, а потом сами данные? и тогда вы прекрасно сможете использовать структуру типа той, что я привел в примере выше... чем не нравится?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
тогда рекомендую сделать так: пусть ваша программа генерирует выходные данные в кодировке UTF8 в виде троичных чисел, а для МК вы напишите функцию, которая будет делать обратную перекодировку...megasvintus писал(а):Ну просто я как всегда, пошел в программировании по более сложному пути. И заодно лишний раз поупражнялся.!
и сложно, и бессмысленно - вот и поупрожняетесь вволю
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
прошу прощения - я не издевался, а шутил.
не знать - не стыдно. стыдно не узнавать.
не знать - не стыдно. стыдно не узнавать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


