Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 01.03.2013, 17:17   #21
Abstraction
Профессионал
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
Репутация: 655
По умолчанию

Цитата:
Оно оказалось true и управление перешло на действие в конце итерации, после чего снова проверилось условие, и мы перешли в тело цикла, обрамленное операторными скобками {}
Чего-чего? После проверки условия, если оно истинно, выполняется тело цикла. Не говоря уж о том, что в обсуждаемой программе операторных скобок как раз не было. Так каким образом получилось 132?
Цитата:
только что то сумма не та выводится
Ещё бы. Меньше, чем надо, раза примерно в полтора
Abstraction вне форума   Ответить с цитированием
Старый 01.03.2013, 17:23   #22
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
Репутация: 41
По умолчанию

потому что этих скобок не было, поэтому получилось 132, т.е. действия проходили только до ; и не переходили в тело цикла, т.е. телом цикла считалась только одна инструкция до первой ;

Последний раз редактировалось Diana528; 01.03.2013 в 17:26.
Diana528 вне форума   Ответить с цитированием
Старый 01.03.2013, 17:34   #23
Abstraction
Профессионал
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
Репутация: 655
По умолчанию

Ответ правильный, но неполный. Почему 132, а не 131?
Abstraction вне форума   Ответить с цитированием
Старый 01.03.2013, 17:39   #24
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
Репутация: 41
По умолчанию

потому что мы написали i+=2; а если бы мы написали i+=1; то вышло бы 131
Diana528 вне форума   Ответить с цитированием
Старый 01.03.2013, 17:42   #25
Abstraction
Профессионал
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
Репутация: 655
По умолчанию

Цитата:
потому что мы написали i+=2; а если бы мы написали i+=1; то вышло бы 131
Коварный вопрос: а если бы написали i+=4, вышло бы 134? Если ответили "да", то проверьте и удивитесь. Если "нет", то объясните, сколько должно получиться в этом случае и почему.
Abstraction вне форума   Ответить с цитированием
Старый 01.03.2013, 17:43   #26
Blind Guard
Форумчанин
 
Регистрация: 14.03.2012
Адрес: Минск
Сообщений: 139
Репутация: 26
По умолчанию

Diana528, вы приводите примеры частных случаев, ответы на которые знаете, вместо того, чтобы выучить общую суть этих примеров.

Abstraction, я понял что вы имели в виду, но о5 же говорю "в цикле я смотрел только шаг", это не ошибка, а невнимательность

Последний раз редактировалось Blind Guard; 01.03.2013 в 17:45.
Blind Guard вне форума   Ответить с цитированием
Старый 01.03.2013, 17:49   #27
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
Репутация: 41
По умолчанию

Получилось 131, почему?
Diana528 вне форума   Ответить с цитированием
Старый 01.03.2013, 17:53   #28
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
Репутация: 41
По умолчанию

Поняла, потому что мы задали переменной i значение 81, а если бы задали значение 80, то получили бы 131. Т.е. проблема была в инициализации.

Последний раз редактировалось Diana528; 01.03.2013 в 17:55.
Diana528 вне форума   Ответить с цитированием
Старый 01.03.2013, 17:55   #29
Abstraction
Профессионал
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
Репутация: 655
По умолчанию

Цитата:
Получилось 131, почему?
Возьмите цикл. Напишите, где там инициализация, где условие, где всё остальное. Распишите, с числами, чему равно значение i на всех шагах первых трёх итераций, по шаблону:
Инициализация. i=???
Проверка условия. i=???
Тело цикла. i=???
Действие в конце итерации. i=???
Проверка условия. i=???
Тело цикла. i=???
...

Цитата:
Поняла, потому что мы задали переменной i значение 81, а если бы задали значение 80, то получили бы 131
- Слушай, дед, а чьи бараны пасутся на том холме?
- Чёрные или белые?
- Положим, чёрные.
- Чёрные мои.
- Ясно. А белые?
- Белые тоже мои.
Abstraction вне форума   Ответить с цитированием
Старый 01.03.2013, 18:00   #30
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
Репутация: 41
По умолчанию

Код:
#include <cstdlib>
#include <iostream>

using namespace std;


int main()
{
   int sum=0;
   int i;
   for (i=80;/*Инициализация*/ i<=130;/*условие*/ i++/*инкремент,действие в конце итерации*/ )
   //тело цикла
   i+=2;//проверка условия
   sum=sum+i;//сумма
   cout<<"summa= "<<sum;
   cin>>sum;
   return 0;
}
Diana528 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти сумму всех нечетных чисел в диапазоне от 42 до 73. mkerimkulov Общие вопросы C/C++ 11 29.09.2012 11:09
список всех четырехзначных нечетных чисел, делящихся без остатка на сумму своих цифр. Kami-sama Общие вопросы C/C++ 2 12.11.2010 18:07
Посчитать сумму всех целых чисел в этом диапазоне LION7777 Фриланс 14 15.06.2010 00:16
программа с использованием подпрограмм, создаёт односвязный список и вычисляет сумму положительных чисел LOVELY Паскаль 5 13.12.2008 02:27


06:54.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.