Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проврка массива 
:(
    Опции темы
Grizzzli
Дата 1.6.2009, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



Ув. программисты! Помогите! Скажите пожалуйста как проверить статический массив на наличие в нем элементов?
Т.е. есть массив из 10 элементов, надо проверить пуст он или нет? 
PM MAIL   Вверх
cutwater
Дата 1.6.2009, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



Правильный ответ никак. Статический массив из 10 элементов состоит из 10 элементов, которые заполнены определенными значениями. Выходов несколько, хранить дополнительно количество заполненных элементов либо же определить значение нулевое, допустим это 0 или -1 к примеру, которое не будет встречаться в массиве и будет использоваться для указания "пустоты" элемента. Так же можно хранить структуру, в котором одним из полей будет флаг занят ли элемент.

Но лучше воспользоваться std::vector например.


--------------------
user posted image
PM MAIL   Вверх
Grizzzli
Дата 1.6.2009, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



вот вообщем, задание такое:в ходе выполнения программы некоторые элементы массива удаляються и надо проверять если в массиве есть элементы то продолжать удалять элементы, если массив пуст то выдать сообщение. Так вот, мне кажеться надо сделать цикл от 0 до 9 и проверять, только вот какое условие поставить?
PM MAIL   Вверх
mes
Дата 2.6.2009, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Grizzzli @  1.6.2009,  22:28 Найти цитируемый пост)
Так вот, мне кажеться надо сделать цикл от 0 до 9 и проверять, только вот какое условие поставить? 

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






--------------------
PM MAIL WWW   Вверх
Dov
Дата 2.6.2009, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Цитата(mes @  2.6.2009,  00:02 Найти цитируемый пост)
Первоначально надо определить, что Вы называете пустым массивом. 

 smile  smile  smile 


--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Grizzzli
Дата 2.6.2009, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



пустой - это массив в котором не содержиться ни одного элимента
PM MAIL   Вверх
Rififi
Дата 2.6.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 3
Всего: 36



Невозможно.
Если ты объявил статический массив на 10 элементов, то там всегда будет 10 элементов, хоть ты тресни.
Хотя я слышал, что в военное время размер массива может увеличиваться до 20% от своей первоначальной величины... smile
PM MAIL   Вверх
russians
Дата 2.6.2009, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 6.11.2006

Репутация: нет
Всего: нет



Господа, а если использовать контрольные символы для заполнения пустых ячеек? Тогда можно будет проверить, является ячейка пустой или заполнена числом.
PM MAIL   Вверх
cutwater
Дата 2.6.2009, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



Можно, что я и предложил выше.


--------------------
user posted image
PM MAIL   Вверх
russians
Дата 2.6.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 6.11.2006

Репутация: нет
Всего: нет



cutwater, ну, ты предложил хранить дополнительное количество элементов, а я предлагаю в этой же матрице исхитриться smile а контрольный 0 - не знаю, был бы в integer (!int) NULL...

Это сообщение отредактировал(а) russians - 2.6.2009, 22:39
PM MAIL   Вверх
cutwater
Дата 2.6.2009, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 592
Регистрация: 24.6.2008

Репутация: 2
Всего: 10



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


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.