Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
#1

Оператор for - C++

22.11.2010, 01:57. Просмотров 2691. Ответов 29
Метки нет (Все метки)

Всем здравствуйте. Изучаю оператор for, и совершенно не могу понять, как он будет работать в этой программе:
Найти сумму целых положительных чисел из промежутка от А до В, кратных 4. Значения А и В вводятся с клавиатуры.
Может ли кто-нибудь предоставить код похожей программы. Заранее благодарствую.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2010, 01:57     Оператор for
Посмотрите здесь:

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * - C++
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

Оператор [] - C++
Добрый день!!! Необходимо х обьекта А присвоить х обьекта В Хотел через A=B сделать, но не выходит ((( Сделал варворским...

Оператор if - C++
Что не так с оператором if. Помогите кто может) cout << "Введите ваше уравнение: "; string Text; char Probel = ' '; cin >>...

оператор do while - C++
задание следующее: нужно найти произведение n чисел, но используя оператор do while. Я более-менее изучил его основы и элементарные...

Оператор % в C++ - C++
Где можно почитать про % оператор? Желательно примеры\объяснения и тд.

Оператор new - C++
Версия оператора new в виде new(nothrow) и new(nothrow). Чем они отличаются от простого оператора new?

оператор For - C++
Надо использовать оператор For в данной задаче..... Надо сделать программу каторый выводит имя например:alpamis 10 раз

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
22.11.2010, 21:48     Оператор for #16
slice, В Си это действительно так. И прекрати уже так себя вести.
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
23.11.2010, 00:53  [ТС]     Оператор for #17
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
main()
{
float a,b;
int i;
printf("a=");
scanf("%f", &a);
printf("b=");
scanf("%f", &b);
if(a<=b)
{
int sum=0;
for(i=a>0; i<=b; ++i)
{
if(i%4==0)
sum+=i;
}
printf("sum=%d\n", sum);
}
else printf("Proverte uslovie a<=b\n");
return 0;
}
Вот код получившейся программы, все работает, но есть существенный минус: когда задаю промежуток, состоящий из двух одинаковых чисел, например [10;10], то выдает сумму 12, то есть он начинает отсчитывать от 0. Поидее в данном случае сумма должна быть равна 0.
Где ошибка и как её исправить?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
23.11.2010, 00:56     Оператор for #18
rypblcbka, for(i=a>0; i<=b; ++i)
ЭТО ЧТО ЕЩЕ?

C++
1
2
3
4
for(i=a; i<=b; ++i)
{
//Ваш код
}
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
23.11.2010, 01:01  [ТС]     Оператор for #19
В условии сказано, что нужно найти сумму целых положительных чисел, притом "а" может быть равным "b"
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
23.11.2010, 01:05     Оператор for #20
rypblcbka, Это прекрасно. ПОжалуйста.
Но вы понимаете чему в этом случае будет равно i?
i=a>0;
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
23.11.2010, 01:06  [ТС]     Оператор for #21
Если заменяю i=a>0 на i=a то начинает работать, если ввести два одинаковых, но если ввожу промежуток с отрицательным числом, например [-5;10], то он считает сумму вместе с отрицательными
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
23.11.2010, 01:09     Оператор for #22
rypblcbka, Я же говорил что отрицательные не в счет. Добавьте условие.
Использовать лучше все таки int нежели float

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
main(void)
{
int a,b;
int i;
int sum=0;
printf("a=");
scanf("%d", &a);
printf("b=");
scanf("%d", &b);
if(a<=b)
{
for(i=a; i<=b; ++i)
{
if(i%4==0 && i>0)
sum+=i;
}
printf("sum=%d\n", sum);
}
else printf("Proverte uslovie a<=b\n");
return 0;
}
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
23.11.2010, 01:16  [ТС]     Оператор for #23
Вот теперь программа работает на ура) Всё-таки использую float, чтобы промежуток можно было задавать любым числом. Спасибо огромное за помощь!)
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
23.11.2010, 01:19     Оператор for #24
rypblcbka, Резон? Все равно float округлится до int в цикле. Если сделать i тоже float - нельзя будет использовать оператор %
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
23.11.2010, 01:27     Оператор for #25
Цитата Сообщение от ForEveR Посмотреть сообщение
Но вы понимаете чему в этом случае будет равно i?
Это же очевидно - либо 0, либо 1
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.11.2010, 15:14     Оператор for #26
Цитата Сообщение от fasked Посмотреть сообщение
Это же очевидно - либо 0, либо 1
А смысл?
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
23.11.2010, 17:16     Оператор for #27
Цитата Сообщение от silent_1991 Посмотреть сообщение
А смысл?
Это я в капитана играю
А вообще довольный интересный способ инициализации счетчика.
silent_1991
23.11.2010, 17:41
  #28

Не по теме:

Цитата Сообщение от fasked Посмотреть сообщение
Это я в капитана играю
Да, игра захватывающая, развивающая

rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
25.11.2010, 02:14  [ТС]     Оператор for #29
Цитата Сообщение от ForEveR Посмотреть сообщение
rypblcbka, Резон? Все равно float округлится до int в цикле. Если сделать i тоже float - нельзя будет использовать оператор %
i я задал int, все нормально работает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2010, 02:26     Оператор for
Еще ссылки по теме:

Оператор if - C++
Почему у меня оператор Else выдает как ошибку(Е2054 Misplaced else)? и в операторе if не нравится как я записал if((s==a)&amp;&amp;(f==p)); ? ...

Оператор -> C++ - C++
В статье о С++11 наткнулся на следующий код template &lt;typename T1, typename T2&gt; auto add(T1 t1, T2 t2) -&gt; decltype(t1 + t2) { ...

оператор this - C++
Прочитал раздел и с книги Стратуструпа о операторе this. но не фига не понял где его использовать его применение

оператор if - C++
если А = 5 , то пишется if(A == 5) а если А от 5 до 7 включительно, как записать ?

оператор new - C++
Максимальный обьем динамической памяти оператором new определяется фиксированным размером памяти выделенной только для этой программы или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
DurkAngel
0 / 0 / 0
Регистрация: 10.11.2010
Сообщений: 21
25.11.2010, 02:26     Оператор for #30
Цитата Сообщение от rypblcbka Посмотреть сообщение
Не опознает i и sum, задал и тип int, подключил библиотеки conio.h и math.h, включается, но суммы не выводит, выводит лишь значение b в качестве суммы.

Добавлено через 29 минут
Во второй программе выводит лишь 1 фатальную ошибку, которая кроется в библиотеке <iostream.h>

Добавлено через 2 минуты
и пишет, что я должен использовать C++, чтобы использовать данную библиотеку.
Можно ли у вас попросить код программы показать на Cи в таком случае?
ты разберись в какой среде работаешь... а потом уже пиши программу
Yandex
Объявления
25.11.2010, 02:26     Оператор for
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru