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

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

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

C++ Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1
Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки C++
Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. C++
C++ Оператор break как оператор go to next
C++ Почему обращение к методам осуществляется через оператор прямого доступа, а не через оператор указателей->?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.11.2010, 02:21     Оператор for #2
rypblcbka, та легко.
Не учитываю, что A, B могут быть отрицательными.
Интервал считаю [A, B).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int main()
{
    int A, B;
    std::cout<<"Enter ranges\n";
    std::cin>>A>>B;
    int sum=0;
    for(int i=A; i<B; ++i)
    {
        if(i%4==0)
           sum+=i;
    }
    std::cout<<sum<<'\n';
    return 0;
}
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
22.11.2010, 02:27  [ТС]     Оператор for #3
std::cout<<"Enter ranges\n";
std::cin>>A>>B;
Что это? Можно ли проще записать программу? Просто я совсем недалеко ушел)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.11.2010, 02:28     Оператор for #4
rypblcbka, А что значит попроще? Да и какой язык вам нужен С или С++?
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
22.11.2010, 02:31  [ТС]     Оператор for #5
С++, а компилятор BorlandC
Попроще - ну всмысле можно ли обойтись без этих строчек
std::cout<<"Enter ranges\n";
std::cin>>A>>B;
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.11.2010, 02:35     Оператор for #6
Программа компилируется? Если нет просто напишите так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
 
int main()
{
    int A, B;
    cout<<"Enter ranges\n";
    cin>>A>>B;
    int sum=0;
    for(int i=A; i<B; ++i)
    {
        if(i%4==0)
           sum+=i;
    }
    cout<<sum<<'\n';
    return 0;
}
cin>> - ввод с экрана
cout<< - вывод на экран
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
22.11.2010, 02:41  [ТС]     Оператор for #7
Первая программа не компилится, что-то на #include <iostream> гонит.
А можно ли как-нибудь cin>> и cout<< заменить на printf и scanf? И если можно, то как?)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.11.2010, 07:42     Оператор for #8
rypblcbka, Я же спрашивал вам нужно Си или С++... printf/scanf это Си... В Си++ использовать не стоит.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main()
{
    int A, B;
    printf("Enter ranges\n");
    scanf("%d%d", &A, &B);
    int sum=0;
    for(int i=A; i<B; ++i)
    {
        if(i%4==0)
           sum+=i;
    }
    printf("Sum=%d\n", sum); 
    return 0;
}
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
22.11.2010, 17:36  [ТС]     Оператор for #9
Не опознает i и sum, задал и тип int, подключил библиотеки conio.h и math.h, включается, но суммы не выводит, выводит лишь значение b в качестве суммы.

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

Добавлено через 2 минуты
и пишет, что я должен использовать C++, чтобы использовать данную библиотеку.
Можно ли у вас попросить код программы показать на Cи в таком случае?
Dream1
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 7
22.11.2010, 20:42     Оператор for #10
Спасибо большое)
Написал программу, все отлично работает, многое переделал.
rypblcbka
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 11
22.11.2010, 20:45  [ТС]     Оператор for #11
Благодарю, переделал, написал, работает)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.11.2010, 20:47     Оператор for #12
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h> 
int main()
{
    int A, B;
    printf("Enter ranges\n");
    scanf("%d%d", &A, &B);
    int sum=0;
    int i=0;
    for(i=A; i<B; ++i)
    {
        if(i%4==0)
           sum+=i;
    }
    printf("Sum=%d\n", sum); 
    getch();
    return 0;
}
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
22.11.2010, 21:40     Оператор for #13
Цитата Сообщение от ForEveR Посмотреть сообщение
main()
Так лучше не писать т.к. это значит, что вы определяете main с неограниченным количеством аргументом.
т.е.
C
1
main()
Тоже самое что,
C++
1
main(...)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.11.2010, 21:43     Оператор for #14
Mencey, Ну если в Си то да. Но я в Си не пишу, поэтому не суть
slice
32 / 75 / 4
Регистрация: 04.11.2010
Сообщений: 249
22.11.2010, 21:43     Оператор for #15
Цитата Сообщение от Mencey Посмотреть сообщение
т.к. это значит, что вы определяете main с неограниченным количеством аргументом.
не <censored>
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2010, 01:05     Оператор for
Еще ссылки по теме:

C++ В Delphi есть оператор cost i of. и т.д. Есть ли в C++ такой же оператор?
C++ Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
23.11.2010, 01:05     Оператор for #20
rypblcbka, Это прекрасно. ПОжалуйста.
Но вы понимаете чему в этом случае будет равно i?
i=a>0;
Yandex
Объявления
23.11.2010, 01:05     Оператор for
Ответ Создать тему
Опции темы

Текущее время: 16:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru