Какой функцией можно посчитать количество членов массива?

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Какой функцией можно посчитать количество членов массива?

Сообщение megasvintus »

Нужно чтобы программа считала количество членов числового массива. какой функцией Си для этого можно воспользоваться?
Трудно быть деревянным, совсем трудно....
Реклама
Аватара пользователя
Kotische
Опытный кот
Сообщения: 885
Зарегистрирован: Сб июл 19, 2008 02:16:33
Откуда: Саратов

Сообщение Kotische »

Вообще то, количество членов статического массива ты задаешь в описании массива!
Можно поюзать sizeof() она вернёт размер массива в байтах.
Если ты сам создашь динамический массив вызвав new[] или alloc() то никак, ты сам должен следить за размером массива!
Реклама
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Массивы динамические.... Сам почесал репу и создал функцию, подсчитывающую количество членов такого массива! 8) Работает четко. 8) Пришлось, раз уж нет готовой!
Трудно быть деревянным, совсем трудно....
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

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

Сообщение megasvintus »

Щас вылизываю окончательно. А что, это настолько интересно?
Трудно быть деревянным, совсем трудно....
Реклама
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Коненчо интересно.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Реклама
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Седня тогда выложу, как приведу в божеский вид листинг, и исправлю мелкий глюк.
Трудно быть деревянным, совсем трудно....
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Начал за здравие:
megasvintus писал(а): Работает четко.
А закончил ...
megasvintus писал(а): исправлю мелкий глюк.
:lol: :lol: :lol:
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Дык он не принципиален, работает все четко, но мне ХОЧЕТСЯ сделать немного красивее
Трудно быть деревянным, совсем трудно....
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

непонятен сам смысл такой функции... как может получиться так, что в массиве окажется неизвестное число элементов?! кто их туда засунет, если не программа? а когда программа туда их писать будет - значит, она будет знать, сколько их там...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Пишет их внешний модуль, эти массивы-результат оцифровки разных картинок. Там бывают сотни значений. Я сделал так, что в зависимости от ситуации, основная программа берет нужный массив, вычисляет число его членов для того чтобы знать, когда остановить загрузку данных в жк.

Я не претендую на то, что это шедевр.
Трудно быть деревянным, совсем трудно....
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

внешний модуль - это что, не часть программы? что-то похоже все как-то шиворот-навыворот делается... и потом, нормальные программы пишут разноразмерные данные в структуры:

Код: Выделить всё

struct{
   int cnt;
   char *data[];
} my_array_ptr;
поле cnt содержит записанное вашим "внешним" моделуем количество элементов в массиве data :) и вашей программе достаточно лишь обратиться к этому полю...

я, конечно, не настаиваю... хотя, имхо, ваш способ - это похоже на удаление геморроя через ухо...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

А массивы int не будут жрать уж очень много ОЗУ?
Трудно быть деревянным, совсем трудно....
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

массивы вы делайте какие угодно. почему сразу int?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Исправлено.

Тогда придется реализовывать параллельное считывание данных из массива с размерами... Не знаю что проще получается. Сама функция подсчета членов массива занимает 250 кодовых слов.

ARV, вы как всегда, оказались правы... Снимаю шляпу. Проще в софтину внести изменения, чтобы первые 2-3 байта суммировались, таким образом, вычислялось значение размера массива. Тем паче что макс. размер предусматривается в 512 членов.
Трудно быть деревянным, совсем трудно....
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

если я не ошибаюсь, ваш "сторонний модуль" - это вами же написанная программа? если так, то что вам стоит модифицировать ее так, чтобы сначала она выводила количество данных, а потом сами данные? и тогда вы прекрасно сможете использовать структуру типа той, что я привел в примере выше... чем не нравится?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Ну просто я как всегда, пошел в программировании по более сложному пути. И заодно лишний раз поупражнялся.! :)))
Трудно быть деревянным, совсем трудно....
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

megasvintus писал(а):Ну просто я как всегда, пошел в программировании по более сложному пути. И заодно лишний раз поупражнялся.! :)))
тогда рекомендую сделать так: пусть ваша программа генерирует выходные данные в кодировке UTF8 в виде троичных чисел, а для МК вы напишите функцию, которая будет делать обратную перекодировку...

и сложно, и бессмысленно - вот и поупрожняетесь вволю :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
megasvintus
Вымогатель припоя
Сообщения: 568
Зарегистрирован: Вт мар 04, 2008 20:03:03
Откуда: Нижний Новгород

Сообщение megasvintus »

Не надо издеваться над ламером! Я и так знаю что слишком мало знаю (сорри за тавтологию)! :)))
Трудно быть деревянным, совсем трудно....
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18675
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

прошу прощения - я не издевался, а шутил.
не знать - не стыдно. стыдно не узнавать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

Вернуться в «МЯЯЯУ!»