![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
Нужно написать функцию которая возвращает индекс элемента в массиве который мы ищем. Массив наполнять вручную.. Если такого значения нет , повернуть размер массива. Массив отсортирован. Я без понятия как делать. Помогите написать.
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
feodorv, хз, препод сказа цыклом пройтись и найти индекс
повернуть что то чтобы не перепутать с индексом Это сообщение отредактировал(а) vovamakr - 3.11.2015, 10:40 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Может, всё-таки вернуть из функции? Вам абсолютно всё равно, что и как, лишь бы сдать? Тогда Вам в "Центр помощи". По ссылке, что я Вам дал, можно найти код на C и C++, нужно будет только изменить возвращаемое из функции значение.
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
feodorv, я там не нашел ничего про массив(
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
По ссылке? Не нашли???
А в "Центр помощи" скопируйте своё первое сообщение. Не забудьте указать в заголовке в квадратных скобках язык программирования. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
сделал:
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
А если: Это сообщение отредактировал(а) feodorv - 3.11.2015, 11:54 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
|
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
||||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
math64, а как сделать чтобы норм работало?
|
|||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Передавать размер массива дополнительным аргументом функции:
Ну, и осталось учесть, что ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
Я думаю, что раз ему сказали в цЫкле
![]() |
|||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
feodorv,
|
|||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
Что-то тут не так. Допустим, у нас массив 10, 20, 30, 40. Как видно массив состоит из 4 элементов. Мы хотим найти индекс элемента со значением 30. Как думаете, что будет в случае array[30]? Будет совсем не то, что вы планируете. |
|||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
rudolfninja, А как написать? Я только учу и не знаю как правильно(
будет array[30] а у нас arra[4] Это сообщение отредактировал(а) vovamakr - 3.11.2015, 13:15 |
|||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
Смотрите, зачем в эту функцию, по-вашему, передается размер массива? - Не только для того, чтоб вернуть его в случае, когда в массиве нет искомого элемента, но и для того, чтобы знать, когда заканчивать цикл обработки массива. |
|||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
rudolfninja, )) посмотрите мои посты ранее. но мне нужно чтобы не доходил цикл до конца а до индекса значения value
|
|||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
||||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
||||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
Что то я не могу придумать как в данном случае использовать то, что массив отсортирован. Единственный вариант, который приходит на ум, это то, что написал federov, то есть использование бинарного поиска.
Даже если массив отсортирован, то мы, не зная его размер, можем с легкостью выйти за пределы массива. |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Было же так:
А вообще, можно же прекратить ползать по массиву, если искомое значение стало меньше значения в массиве:
Это сообщение отредактировал(а) feodorv - 3.11.2015, 13:42 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
Но если искомого значения нет в массиве и оно больше максимального элемнта (например, в массиве 1 2 3 4 5 ищем 10), то цикл будет бесконечный. Я это к тому, что не зная размер массива никак не получится сделать требуемое задание. Это сообщение отредактировал(а) rudolfninja - 3.11.2015, 13:49 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Почему? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
feodorv, совершенно верно! =) Я исправлся в прошлом сообщении. Имел в виду, что не используя размер массива может произойти такая ситуация.
vovamakr, я предлагаю вам использовать вариант, который предложил feodorv. По-моему, он наиболее подходящий в вашем случае. Это сообщение отредактировал(а) rudolfninja - 3.11.2015, 13:53 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Нет, нет, без размера никак))) -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Можно))) Но возвращать-то в случае быстрого выхода из цикла по условию value < array[index] всё равно размер массива, что заставляет нас продолжать просматривать массив до конца, что делает применение этого условия бесполезным (да и отсортированность массива тоже)))) -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
vovamakr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 2.11.2015 Репутация: нет Всего: нет |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Индекс элемента, лежащего ровно посередине между first и last. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
goodluck |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 10.11.2015 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |