![]() |
|
Модераторы: bsa |
![]()
|
|
| Neon325 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.3.2012 Репутация: нет Всего: нет |
У меня тут возникли проблемы с кодом, то при добавлении к элементов в конец массива добавляются лишние, а при перестановке теряются, и не выводится первый отрицательный элемент...посоветуйте что нибудь как можно подправить....
Это сообщение отредактировал(а) bsa - 4.3.2012, 18:08 |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: нет Всего: 29 |
||||
|
||||
| Neon325 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.3.2012 Репутация: нет Всего: нет |
||||
|
||||
| marsh123 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.6.2008 Репутация: нет Всего: нет |
В Вашем коде действительно очень легко заблудиться, он ужасно оформлен, да и не компилится, так как содержит тучу ошибок, даже не знаю каким компилятором удалось это скомпилить
Не совсем понял, что нужно писать для "первый отрицательный элемент", смысл этого условия нулевой, оно ни на что не влияет: a[i] >= 0 Может Вы хотели перезаполнять массив, пока 1 из случайных чисел не станет отрицательным, а потом остановиться? Тогда вернее будет a[i-1] >= 0, хотя в таком случае первая проверка придется на a[-1], тогда лучше использовать break; Короче говоря, вот код, который у меня компилится и, как мне кажется, чуть более читаем: (если что, компилить со стандартом c99, тк уже привычка счетчики прямо в for объявлять)
Какие-то странные функции Вы используете, randomize(), random(int) это что-то Паскалевское?! Это сообщение отредактировал(а) marsh123 - 3.3.2012, 22:45 |
|||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Помимо этого нужно различать два случая: n чётное и n нечётное. Достаточно прикинуть, что делает приведённый код при n равном единице ;) -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| marsh123 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.6.2008 Репутация: нет Всего: нет |
Он удаляет весь массив, так как индекс 0 можно считать чётным, работает верно и при четной, и при нечетной длине. Это сообщение отредактировал(а) marsh123 - 3.3.2012, 22:52 |
|||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ok, если удалять нужно чётные индексы. Просто в коде написано: а на оригинал я не посмотрел -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| Neon325 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.3.2012 Репутация: нет Всего: нет |
Все равно так же получается как и у меня |
||||
|
|||||
| marsh123 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.6.2008 Репутация: нет Всего: нет |
Где лишний то выводится, не пойму, перестановку min и max сразу не заметил, ёё тоже добавил, вот результат работы моего кода, объясните нормально, что именно в результате Вас не устраивает.
И еще объясните, что должен делать кусок "первый отрицательный элемент", я так и не понял, чего Вы хотите этим добиться в своем коде.
Сам код:
Это сообщение отредактировал(а) marsh123 - 4.3.2012, 16:16 |
||||
|
|||||
| Neon325 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.3.2012 Репутация: нет Всего: нет |
Постановка задачи! 1)Сформировать массив из n элементов с помощью датчика случайных чисел( n задается пользователем с клавиатуры) 2)Распечатать полученный массив 3)Выполнить удаление всех элементов с четными индексами из массива 4) Вывести полученный результат 5)Выполнить добавление к элементов в конец массива 6)Вывести полученный результат 7)Выполнить перестановку минимального и максимального элементов в массиве 8)Вывести полученный результат 9)Выполнить поиск первого отрицательного элемента в массиве и подсчитать количество сравнений,необходимых для поиска нужного элемента 10)Вывести полученный результат 11)Выполнить сортировку массива простым включением 12)Вывести полученный результат 13)Выполнить поиск первого отрицательного элемента в отсортированном массиве и подсчитать количество сравнений, необходимых для поиска нужного элемента 14)Вывести полученный результат! В массиве должны быть записаны и положительные и отрицательные элементы, при решении задач использовать псевдодинамические массивы Вывод результатов должен выполняться после выполнения каждого задания. Элементы массива рекомендуется выводить в строчку, разделяя их между собой пробелом, break использовать запрещено |
|||
|
||||
| marsh123 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.6.2008 Репутация: нет Всего: нет |
Правда не уверен на счет сортировки включением, ту ли я написал, замените сами, если не та, код:
Это сообщение отредактировал(а) marsh123 - 4.3.2012, 17:20 |
||||
|
|||||
| Neon325 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.3.2012 Репутация: нет Всего: нет |
программа работает, спасибо огромное |
||||||
|
|||||||
| Neon325 |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.3.2012 Репутация: нет Всего: нет |
а как проделать с этой программой такую работу ,чтобы она не выводила числа Фибоначчи , а наоборот удаляла их из массива?
|
||||||||
|
|||||||||
![]()
|
| Правила форума "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. |