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

Диапазон - C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Ildar007
1 / 1 / 0
Регистрация: 14.11.2008
Сообщений: 21
17.10.2009, 11:10     Диапазон #1
Просуммировать числа указанного диапазона. Начальное и конечное значение диапазона вводятся с клавиатуры. Программу написать с использованием функций.
Кто может, напишите код программы!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
17.10.2009, 11:16     Диапазон #2
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
#include "iostream"
 
using namespace std;
 
// Просуммировать числа указанного диапазона. Начальное и конечное
// значение диапазона вводятся с клавиатуры. Программу написать с использованием функций.
 
long Summ(long a, long b)
{
    long summ=0;
 
    for (long i=a; i<=b; i++)
        summ+=i;
    return summ;
}
 
int main()
{
    int first , lost;
    cout << "\nEnter first: ";    cin >> first;
    cout << "Enter lost: ";    cin >> lost;
 
    cout << "summ: "<<Summ(first, lost);
 
    cout << endl;
    system("PAUSE");
    return 0;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
17.10.2009, 11:22     Диапазон #3
Ildar007, а шаг не нужно вводить?
Ildar007
1 / 1 / 0
Регистрация: 14.11.2008
Сообщений: 21
17.10.2009, 12:44  [ТС]     Диапазон #4
А как в этой программе сделать что бы после введенных данных, программа сразу же показывала результат, а не выходила к коду программы?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
17.10.2009, 13:01     Диапазон #5
Ildar007,
Цитата Сообщение от Ildar007 Посмотреть сообщение
А как в этой программе сделать что бы после введенных данных, программа сразу же показывала результат, а не выходила к коду программы?
Код TanT как раз выдает на экране результат после введения данных. Или что-то не устраивает?
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
17.10.2009, 13:58     Диапазон #6
вероятно, хотя не понятно почему, не работает system("PAUSE");
Ildar007, замени system("PAUSE"); на getch(); и не забудт подключить библиотеку #include <conio.h>
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
17.10.2009, 22:08     Диапазон #7
Если a - начальное, b - конечное, то очевидно:
sum= (a+b)*(b-a+1)/2;
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
17.10.2009, 22:48     Диапазон #8
odip,
Формула хорошая, но если количество элементов диапазона нечетное (при шаге 1) и если sum объявлено double, то погрешность = 0,5
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
18.10.2009, 18:34     Диапазон #9
Формула не просто хорошая, она правильная.
sum очевидно целое число.
Если кол-во элементов диапазона нечетное, то есть b-a+1 - нечетное число.
Тогда b-a+1+2a - тоже нечетное число.
То есть b+a+1 - нечетное число.
Тогда b+a очевидно четное число.
Тогда (b+a) делится нацело на 2.

Так что откуда ты там взял погрешность в 0.5 только тебе известно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2009, 18:45     Диапазон
Еще ссылки по теме:

Диапазон и поиск C++
C++ Как найти диапазон ?
C++ Rand() выходит за диапазон
Диапазон [0; 1024] преобразовать в [-60; 60] C++
Диапазон перечислений C++

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.10.2009, 18:45     Диапазон #10
Извиняюсь, промахнулся.
Yandex
Объявления
18.10.2009, 18:45     Диапазон
Ответ Создать тему
Опции темы

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