|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.03.2013, 15:04 | #1 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
Программа вычисляет сумму всех нечетных чисел в определенном диапазоне
Помогите написать программу, которая вычисляет сумму всех нечетных чисел в диапазоне от 80 до 130
Код:
|
01.03.2013, 15:22 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
1) sum изначально равно чему угодно. (что угодно)+i = (что угодно). Нехорошо.
2) Вам нужно сумму не от 1 до n (и опять же, n равно чему угодно), а от 80 до 130. 3) Нужна сумма нечётных чисел, а не всех подряд. Условие "если k нечётное" пишется как Код:
|
01.03.2013, 15:29 | #3 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
Верно?
Код:
|
01.03.2013, 15:38 | #4 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
Код:
|
01.03.2013, 16:15 | #5 |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 139
|
В вашем коде ответ всегда будет 129 (цикл напрасно набивает i)
Если исправить и немного упростить, то выйдет такой вот код Код:
Последний раз редактировалось Blind Guard; 01.03.2013 в 16:18. |
01.03.2013, 16:16 | #6 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Катастрофа.
Ликбез. Категорически не понимаю, как Вы без этого знания сунулись к классам. Цикл for имеет следующую форму: Код:
Условие - условие, при котором цикл продолжается. Проверяется каждый раз перед началом выполнения тела цикла, в том числе в самом начале (т.е. если после инициализации результат вычисления условия есть false, тело цикла не выполнится ни разу). Если условие пусто, оно считается истинным. Действие в конце итерации выполняется всякий раз, когда поток управления доходит до конца тела цикла. Это касается, среди прочего, эффекта ключевого слова continue (т.е. по continue происходит действие в конце итерации, и только потом новая проверка условия). Если действие пусто, не выполняется ничего. Тело цикла выполняется первый раз после инициализации и проверки условия (если условие выполняется). Тело есть либо одиночная инструкция, оканчивающаяся оператором ;, либо блок инструкций, заключённый в операторные скобки {}. По окончании выполнения тела цикла (если только оно не вызвано ключевыми словами break, goto или throw, либо вызовом функции longjmp()), управление переходит на действия в конце итерации, после чего по-новой проверяется условие. В целом, схему цикла for можно переписать следующим образом с использованием while: Код:
Шаблонный пример в C++, "сделать 138 раз": Код:
Затем проверяется, верно ли, что i меньше 138. Если нет, происходит выход из цикла. Затем выполняются действия. Если нам нужно выполнить действие именно 138 раз, менять i при этом нельзя (см. ниже). Затем выполняется ++i (это инкремент, увеличение значения i на 1; ++i эквивалентно i+=1). Затем мы возвращаемся к проверке. Легко видеть, что, если i изменялась только в действии в конце итерации и не было никаких пакостей вроде break, (требуемые действия) были выполнены ровно 138 раз. Теперь грабли. Код:
Код:
|
01.03.2013, 16:17 | #7 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
(Ненавижу лимиты по символам в сообщениях)
Код:
Код:
Код:
Код:
Код:
|
01.03.2013, 16:18 | #8 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Код:
|
01.03.2013, 16:22 | #9 |
Форумчанин
Регистрация: 13.02.2013
Сообщений: 221
|
программа ничего не выводит
|
01.03.2013, 16:24 | #10 |
Форумчанин
Регистрация: 14.03.2012
Сообщений: 139
|
Единственное что я исправил в изначальном цикле, это прыжок на 2, другое я не смотрел, там уже дело техники, а на моей данной технике нет С++
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
найти сумму всех нечетных чисел в диапазоне от 42 до 73. | mkerimkulov | Общие вопросы C/C++ | 11 | 29.09.2012 11:09 |
список всех четырехзначных нечетных чисел, делящихся без остатка на сумму своих цифр. | Kami-sama | Общие вопросы C/C++ | 2 | 12.11.2010 17:07 |
Посчитать сумму всех целых чисел в этом диапазоне | LION7777 | Фриланс | 14 | 15.06.2010 00:16 |
программа с использованием подпрограмм, создаёт односвязный список и вычисляет сумму положительных чисел | LOVELY | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 13.12.2008 01:27 |