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

Не могу никак понять (новичек). - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
AlmazSeo
 Аватар для AlmazSeo
3 / 3 / 0
Регистрация: 24.10.2011
Сообщений: 103
17.02.2012, 16:23     Не могу никак понять (новичек). #1
Здравствуйте, необходимо найти сумму квадратов четных чисел в интервале заданном значениями переменных от m до n.
Никак не могу понять как это реализовать, на разных форумах по-разному пишут.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
17.02.2012, 16:31     Не могу никак понять (новичек). #2
цикл от минимального четного числа, большего m, до максимального четного числа, меньшего n, с шагом 2, в котором мы прибавляем к значению аккумулятора квадрат значения переменной цикла. Так понятней?
Показывай свои наработки
AlmazSeo
 Аватар для AlmazSeo
3 / 3 / 0
Регистрация: 24.10.2011
Сообщений: 103
17.02.2012, 16:53  [ТС]     Не могу никак понять (новичек). #3
Можно еще вопрос: "как на четность правильно проверить число?"
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
17.02.2012, 16:56     Не могу никак понять (новичек). #4
Если остаток от деления на 2 равен 0, то это число четное
C
1
2
3
if (x%2==0)
/*или*/
if(!x%2)
miriganua
129 / 100 / 4
Регистрация: 05.02.2012
Сообщений: 241
18.02.2012, 00:36     Не могу никак понять (новичек). #5
Черкнул код, вроде работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
    int m, n;
    cout << "Enter m:";
    cin >> m;
    cout << "Enter n:";
    cin >> n;
    int sum = 0;
    for (int i = m; i <= n; i++)
    {
        if (i % 2 == 0)
        {
            sum += i * i;
        }
    }
    cout << "Result:" << sum << '\n';
 
    return 0;
}
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
18.02.2012, 01:03     Не могу никак понять (новичек). #6
AlmazSeo, зачем дублировать тему реализация цикла for

Я Вам в полне рабочий пример скинул! для чего по два раза одно и тоже спрашивать??

Вот одно из правильных решений данной задачи!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "iostream"
 
using namespace std;
 
int main()
{
        setlocale(0, "");
        int m, n, sum = 0;
        cout << "Введите левую границу - ";
        cin >> m;
        cout << "Введите правую границу - ";
        cin >> n;
 
        while(m >= n)
        {
                system("cls");
                cout << "Неверный ввод. Повторите попытку.\n";
                cout << "Введите левую границу - ";
                cin >> m;
                cout << "Введите правую границу - ";
                cin >> n;
        }
        
        for(int i = m; i <= n; i++)
        {
                        if(i % 2 == 0)
                        {
                                sum += i * i;
                        } 
        }
        cout << "Сумма квадратов четных чисел от " << m << " до " << n << " равна " << sum << endl;
 
        system("pause >> null");
        return 0;
Если что не ясно спрашивайте не посредствено по коду
Миниатюры
Не могу никак понять (новичек).  
AlmazSeo
 Аватар для AlmazSeo
3 / 3 / 0
Регистрация: 24.10.2011
Сообщений: 103
18.02.2012, 22:03  [ТС]     Не могу никак понять (новичек). #7
Как можно правильно записать данный код?
C++
1
cout << "Сумма квадратов четных чисел от " << m << " до " << n << " равна " << sum << endl;
Мне нужно, чтобы выводилось через printf...
Просто никак не могу сделать, вот как у меня:
C
1
printf("summa ot %d %d %d", a, "do", b,"ravna", c);
(SkyNet)
 Аватар для (SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
18.02.2012, 22:07     Не могу никак понять (новичек). #8
Цитата Сообщение от AlmazSeo Посмотреть сообщение
Как можно правильно записать данный код?
C++
1
cout << "Сумма квадратов четных чисел от " << m << " до " << n << " равна " << sum << endl;
Мне нужно, чтобы выводилось через printf...
Просто никак не могу сделать, вот как у меня:
C
1
printf("summa ot %d %d %d", a, "do", b,"ravna", c);
C
1
printf("summa ot %d do %d ravna %d", a, b, c);
AlmazSeo
 Аватар для AlmazSeo
3 / 3 / 0
Регистрация: 24.10.2011
Сообщений: 103
18.02.2012, 22:30  [ТС]     Не могу никак понять (новичек). #9
Я не могу понять, либо я тупой либо что...
Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
 
int main()
{
    int a,b,c,i;
 
printf("A:\n");
scanf("%d", &a);
printf("B:\n"); 
scanf("%d", &b);
 
while(a >= b)
        {
printf("Error!...\n\n");
printf("A:\n");
scanf("%d", &a);
printf("B:\n"); 
scanf("%d", &b);
        }
        
 
for(i = a; i <= a; i++)
        {
                        if(i % 2 == 0)
                        {
                                c += i * i;
                        } 
        }
       printf("summa ot %d do %d ravna %d\n\n", a, b, c);
 
 
 
  
  system("PAUSE");  
  return 0;
}
при вводе, к примеру, от 5 до 7, выдает значение 2, а должно выдать 36...

Добавлено через 1 минуту
Нашел ошибку, вот здесь
C++
1
c += i * i;
не нужно было ставить знак +
МаксС
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 4
18.02.2012, 22:40     Не могу никак понять (новичек). #10
при вводе, к примеру, от 5 до 7, выдает значение 2, а должно выдать 36...

Добавлено через 1 минуту
Нашел ошибку, вот здесь
C++
1
c += i * i;
не нужно было ставить знак +[/QUOTE]

Как я думаю это не выход. Т.к. если ты убиреш + то никакой суммы не будет
нужно просто вот это поменять.

C
1
int a,b,c=0,i;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2012, 23:17     Не могу никак понять (новичек).
Еще ссылки по теме:

C++ Никак не могу понять в чем ошибка
Стек на основе массива структур - эт как понять читаю литературу и не могу понять! C++
Интересует часть программы, не могу ее никак понять C++

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

Или воспользуйтесь поиском по форуму:
AlmazSeo
 Аватар для AlmazSeo
3 / 3 / 0
Регистрация: 24.10.2011
Сообщений: 103
18.02.2012, 23:17  [ТС]     Не могу никак понять (новичек). #11
Благодарю всех за помощь) Теперь более менее разбираюсь в этом.
Yandex
Объявления
18.02.2012, 23:17     Не могу никак понять (новичек).
Ответ Создать тему
Опции темы

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