![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Baton2007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
Мне дали задание: Дано натуральное число N и последовательность A1 , A2 , ...... An состоящая из N чисел . Надо получить последовательность , которая в отличается от исходной тем , что все нечетные элементы удвоены.
Мне нужно написать эту прогарамму с помощью датчика случайных чисел (random) и одномерного массива. Я написал вот такую
Ноработает она не коректно объясните почему и помогите исправить! |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
в чем именно некорректность?
|
|||
|
||||
| Baton2007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
Именно в том что она не удваивает нечетные члены массива а должна удваивать!
|
|||
|
||||
| crazy_hand |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 12.12.2007 Где: Санкт-Петербург Репутация: нет Всего: нет |
Ты при проверке какую индексацию подразумеваешь: с нуля или с единицы? Если с нуля, то тебе нужно цикл с i=0 начинать, если с единицы - то у тебя все правильно.
|
|||
|
||||
| Baton2007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
С нуля т.к рандомом задается если я не ошибаюсь с 0 до 10!
|
|||
|
||||
| crazy_hand |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 12.12.2007 Где: Санкт-Петербург Репутация: нет Всего: нет |
причем здесь рандом? Ты когда exe смотришь и проверяешь результат считаешь с нуля или с единицы? Если с единицы - то у тебя все правильно. Если с нуля то цикл
нужно начинать с 0, т.е.
|
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Работать должно. Попробуй в printf заменить "%3i" на "%3i ". И перед getch() поставь printf("\n");
Добавлено через 1 минуту и 20 секунд crazy_hand, все с точностью до наоборот: 0 - это четное число. |
|||
|
||||
| crazy_hand |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 12.12.2007 Где: Санкт-Петербург Репутация: нет Всего: нет |
Да, все верно, 0 - четное число.
Если у него цикл с 1: смотрим результат - если считать с 0, то результат неверный, а если считать с 1, то все правильно. Соответственно если в цикле начинать с i=0, то тогда считая ответ начиная с 0 - все верно будет. У меня все пашет на ура. Только к n пришлось модификатор const добавить ;) |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Baton2007, тебе надо удваивать нечетные элементы или элементы, стоящие на нечетных позициях?
|
|||
|
||||
| crazy_hand |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 12.12.2007 Где: Санкт-Петербург Репутация: нет Всего: нет |
bsa
мда, судя по сорцу - элементы на нечетных позициях, судя по постам - нечетные элементы Baton2007 Посмотри, может тебе так нужно?: нечетные элементы :
Это сообщение отредактировал(а) crazy_hand - 12.12.2007, 16:44 |
|||
|
||||
| Baton2007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
Надо удваивать нечетные элементы а не элементы стоящие на нечетных позициях!
|
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Замени:
|
||||
|
|||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Можно и без условия
A[ i ] = A[ i ] << ( A[ i ] & 1 ); P.S. A[ i ] <<= A[ i ] & 1; Это сообщение отредактировал(а) SergeCpp - 12.12.2007, 17:19 |
|||
|
||||
| crazy_hand |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 12.12.2007 Где: Санкт-Петербург Репутация: нет Всего: нет |
SergeCpp
найс, мог бы ставить плюсы - поставил бы |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |