![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
Только что начал изучать С++ в институте, и пробую написать 1 программу. Задание вообще-то другое, но я хоть какую то часть пробую сделать. Незнаю, пишу ли я "коряво" или совсем не верно. Вообщем...
Нужно ввести массив (неболее 100 чисел), отсортировать пузырьком и вывести на экран:
Если сорт отключить то вводится выводится вроде нормально. Просто я ещё не привык к циклу for и остальным примудростям. Где ошибка? И ещё, если кому не лень, вот полное задание, но я чето так и не смог эту простую чтуку сообразить, там нужно ещё один цикл добавить... мм: Из входного потока вводится последовательность целых чисел. Количество чисел последовательности произвольно, но не превышает 100. Сформировать новую последовательность,состоящую из чисел исходной последовательности, в которой числа внутри каждой группы, заданной длины, упорядочены по возрастанию. Например для исходной: 12,101,2,7,178,30,141 21 при длине группы равной 3 получаем: 2,12,101,7,30,178,21,141 Тока не используя дополнительных возможностей С++, всяких готовых ф-ий) -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
техническая ошибка тут j<num-i, получаешь выход за пределы массива тут: a[j+1] при i==0. так вроде работает: int j=0; j<num-i-1; j++ сам проверь под отладчиком так делать опасно, ты например, открыл таким образом функцию std::swap() из стандартной библиотеки. |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
тоже самое, только вызываешь функцию sort на каждом k-ом элементе, выводим полученное, очищаем, и так до конца ввода здесь будет выход за границы массива при j=num-1. замени на i=1 |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
вот сделал с использованием всех твоих функций.
у меня на маленьких выборках (до 40 элементов) все работало. Ты тока за массив вылезал при сортировке, так и программу завалить можно, если за сотню вылезти.
|
|||
|
||||
| Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: нет Всего: 23 |
о, спасибо всем
-------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
Ripper,
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
, to zkv Чем чревато, включил же не вызвал?? или возникнит ситюейнен когда она вызовется автоматически?
-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
в этом случае нечем, но помню на форуме пару раз возникали проблемы, и виновато было как раз такое незаметное подключение std::swap() PS себя я уже давно отучил от слова using Исключение - старые проекты, которые нужно заставить заработать. |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Странно, я из-за сообщений папок этого форума, как раз наоборот, приучил себя к слову using и некогда не пишу using namespace.
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
||||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Зачтите главу 9 великолепного талмуда достопочтенного и многопрославленного мистера Стэнли Б. Липпмана "С++ для начинающих", в коей досконально и доверительно описываются последствия использования директивы using для перегрузки функций (что я сам и сделал, прежде чем поделиться сим неплохим советом). После продолжительных бессонных размышлений об этом предмете я пришел к выводу, что применение директивы using безусловно можно не рекомендовать для начинающих, которые не читали вышеупомянутый достославный труд вышеупомянутого мастера.
Если std::swap оказалась более предпочтительной для компилятора чем native-но той программы, значит, программер что-то напутал или не щепетился при написании кода. -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |