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

Требуется посчитать сумму целых чисел от 1 до N - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
artemz
0 / 0 / 1
Регистрация: 24.03.2013
Сообщений: 14
08.08.2014, 13:52     Требуется посчитать сумму целых чисел от 1 до N #1
Добрый день подскажите такой вопрос?
решил порешать задачи на этом сайте: [cut]

Сумма
(Время: 1 сек. Память: 16 Мб Сложность: 19%)
Требуется посчитать сумму целых чисел от 1 до N.

Входные данные

В единственной строке входного файла INPUT.TXT записано единственное целое число N, не превышающее по абсолютной величине 104.

Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел от 1 до N.

Пример

INPUT.TXT OUTPUT.TXT
5 15

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
#include <iostream>
#include <fstream>
#include <iomanip> 
#include <stdlib.h>
using namespace std;
int main()
{
    ifstream ouFal("INPUT.TXT",ios::in);
    if (! ouFal)
    {
        cerr << "Ошибака откритие файла " << endl;
        exit(1);
    }
    ofstream inFal("OUTPUT.TXT", ios::out);
    
    long int x = 0, i;
 
    
    while (! ouFal.eof())
    {
        cout << ouFal.eof() << endl;
        ouFal >> x;
        
        if (x < 0 ) 
            x = ((x * (x - 1)) / 2 ) * -1;
        else 
            x = (x * (x + 1)) / 2;
 
    inFal << x << endl;
    }
    inFal.close();
    ouFal.close();
    
    return 0;
}
мое решение и не принимает не пойму что может быть не так неправельно значение пишет
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2014, 13:52     Требуется посчитать сумму целых чисел от 1 до N
Посмотрите здесь:

C++ Одномерный массив, подскажите как посчитать сумму целых частей ...
C++ Ввести с клавиатуры массив из 10 целых чисел, посчитать сумму и вывести на экран
посчитать сумму цифр всех целых чисел 1 до n C++
C++ Посчитать сумму целых чисел от 1 до N
C++ Посчитать среднее арифметическое целых чисел в текстовом документе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kukurudza
104 / 85 / 6
Регистрация: 29.08.2012
Сообщений: 539
08.08.2014, 14:20     Требуется посчитать сумму целых чисел от 1 до N #2
Цитата Сообщение от artemz Посмотреть сообщение
C++
1
if (x < 0 ) x = ((x * (x - 1)) / 2 ) * -1; else x = (x * (x + 1)) / 2;
это че?
BlackIce
309 / 171 / 64
Регистрация: 18.01.2014
Сообщений: 387
08.08.2014, 14:27     Требуется посчитать сумму целых чисел от 1 до N #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
#include <fstream>
 
main() {
  std::fstream i("input.txt"), o("output.txt", 18);
  int n;
  i >> n;
  o << (n > 0 ? n * n + n : (n + 1) * (2 - n)) / 2;
}
artemz
0 / 0 / 1
Регистрация: 24.03.2013
Сообщений: 14
08.08.2014, 14:38  [ТС]     Требуется посчитать сумму целых чисел от 1 до N #4
это формула
это просто чтобы цыклом не перебирать
http://files.school-collection.edu.r...8d0a/word.html

Добавлено через 1 минуту
ребята я зато что ответ верный а когда отправляеш на сайт пишет что значение не правельно
короче не принимает как правельный ответ

Добавлено через 8 минут
все ответ зашитало
BlackIce
спасибо
только вот не понятно
ведь мой код тоже правельный ответ давал
BlackIce
309 / 171 / 64
Регистрация: 18.01.2014
Сообщений: 387
08.08.2014, 14:42     Требуется посчитать сумму целых чисел от 1 до N #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от artemz Посмотреть сообщение
ребята я зато что ответ верный а когда отправляеш на сайт пишет что значение не правельно
Контрпример:

input.txt: -5

sum(1 0 -1 -2 -3 -4 -5) = -14

Ваша программа пишет два значения в выходной файл 1 и -15

никаких while не нужно, просто считываете одно значение и считаете сумму.
artemz
0 / 0 / 1
Регистрация: 24.03.2013
Сообщений: 14
08.08.2014, 14:48  [ТС]     Требуется посчитать сумму целых чисел от 1 до N #6
спасибо

Добавлено через 35 секунд
еше вопрос можно
o("output.txt", 18);
что это 18

Добавлено через 17 секунд
не компилетца у меня

Добавлено через 31 секунду
ios::out = 18
BlackIce
309 / 171 / 64
Регистрация: 18.01.2014
Сообщений: 387
08.08.2014, 14:48     Требуется посчитать сумму целых чисел от 1 до N #7
Цитата Сообщение от artemz Посмотреть сообщение
cout << ouFal.eof() << endl;
Вот это вы зачем написали?
artemz
0 / 0 / 1
Регистрация: 24.03.2013
Сообщений: 14
08.08.2014, 14:50  [ТС]     Требуется посчитать сумму целых чисел от 1 до N #8
не мог понять почему она двараза писало одно и тоже число
при if (! ouFal.eof()) за был убрать
это делаю по книге пока мало опыта
"Дейтел Х., Дейтел П. - Как программировать на C++"
BlackIce
309 / 171 / 64
Регистрация: 18.01.2014
Сообщений: 387
08.08.2014, 14:53     Требуется посчитать сумму целых чисел от 1 до N #9
Цитата Сообщение от artemz Посмотреть сообщение
еше вопрос можно
o("output.txt", 18);
что это 18
Это грязный хак для Visual C++, который стоит на том сайте

вместо
C++
1
std::fstream i("input.txt"), o("output.txt", 18);
конечно же лучше было написать:
C++
1
2
std::ifstream i("input.txt");
std::ofstream o("output.txt");
и еще
int main() вместо main()
artemz
0 / 0 / 1
Регистрация: 24.03.2013
Сообщений: 14
08.08.2014, 14:56  [ТС]     Требуется посчитать сумму целых чисел от 1 до N #10
ну я дописал void main() так как не было return;
прочил книгу теперь на практике пытаюсь
gru74ik
Модератор
 Аватар для gru74ik
3075 / 1320 / 164
Регистрация: 20.02.2013
Сообщений: 3,755
Записей в блоге: 15
08.08.2014, 15:52     Требуется посчитать сумму целых чисел от 1 до N #11
И лучшим, на мой взгляд, решением будет прочитать одну из книг для начинающих:
  • Прата С. - Язык программирования С++. Лекции и упражнения (2012, 6-е издание)
  • Стенли Б. Липпман, Жози Лажойе, Барбара Э. Му - Язык программирования C++. Базовый курс (2014, 5-е издание)
  • Харви М. Дейтел, Пол Дж. Дейтел - Как программировать на C++ (2008, 5-е издание)

Добавлено через 25 минут
Цитата Сообщение от artemz Посмотреть сообщение
я дописал void main() так как не было return;
Намучаетесь, ежели так будете делать. Стандарт C++ требует, чтобы главная функция:
  • называлась main()
  • была типа int
  • возвращала значение типа int

Классический пример:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
using namespace std;
 
int main()
{
    cout << "Hello world!" << endl;
    return 0;
}
Vtulhu
369 / 375 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
08.08.2014, 17:09     Требуется посчитать сумму целых чисел от 1 до N #12
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "greatest.h"
#include <assert.h>
 
int sum_to(const int n)
{
    assert(n > 0);
    int half = n / 2;
    int sum = (n + 1) * half;
    if( 2 * half != n ) {
        ++half;
        sum += half;
    }
    return sum;
}
 
TEST sum_to_1()
{
    ASSERT_EQ(sum_to(1), 1);
    PASS();
}
 
TEST sum_to_2()
{
    ASSERT_EQ(sum_to(2), 3);
    PASS();
}
 
TEST sum_to_3()
{
    ASSERT_EQ(sum_to(3), 6);
    PASS();
}
 
TEST sum_to_100()
{
    ASSERT_EQ(sum_to(100), 5050);
    PASS();
}
 
TEST sum_to_101()
{
    ASSERT_EQ(sum_to(101), 5151);
    PASS();
}
 
SUITE(the_suite)
{
    RUN_TEST(sum_to_1);
    RUN_TEST(sum_to_2);
    RUN_TEST(sum_to_3);
    RUN_TEST(sum_to_100);
    RUN_TEST(sum_to_101);
}
 
GREATEST_MAIN_DEFS();
 
int main(int argc, char **argv) {
    GREATEST_MAIN_BEGIN();      /* command-line arguments, initialization. */
    RUN_SUITE(the_suite);
    GREATEST_MAIN_END();        /* display results */
}
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.08.2014, 17:22     Требуется посчитать сумму целых чисел от 1 до N #13
Цитата Сообщение от gru74ik Посмотреть сообщение
Стандарт C++ требует, чтобы главная функция:
. . .
была типа int
Как понимаю, здесь имеется в виду возвращаемый тип.
Цитата Сообщение от gru74ik Посмотреть сообщение
возвращала значение типа int
Да ну брось еще придумывать.
gru74ik
Модератор
 Аватар для gru74ik
3075 / 1320 / 164
Регистрация: 20.02.2013
Сообщений: 3,755
Записей в блоге: 15
08.08.2014, 17:28     Требуется посчитать сумму целых чисел от 1 до N #14
Цитата Сообщение от Vourhey Посмотреть сообщение
Да ну брось еще придумывать.
Мог напутать, но, вроде как, main должна возвращать значение int, чтобы сообщать операционной системе, что код успешно завершился. При помощи оператора return, возвращаюшего 0, либо макрос EXIT_SUCSESS. Поправьте, если неправ.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.08.2014, 17:33     Требуется посчитать сумму целых чисел от 1 до N #15
Цитата Сообщение от gru74ik Посмотреть сообщение
Мог напутать, но, вроде как, main должна возвращать значение int, чтобы сообщать операционной системе, что код успешно завершился. При помощи оператора return, возвращаюшего 0, либо макрос EXIT_SUCSESS. Поправьте, если неправ.
Не должна, а может. А может и не возвращать. Требования возвращать - нет.

Добавлено через 51 секунду
Цитата Сообщение от gru74ik Посмотреть сообщение
При помощи оператора return, возвращаюшего 0, либо макрос EXIT_SUCSESS
А что, других вариантов нет? если -1 верну, кто-то умрет?
gru74ik
Модератор
 Аватар для gru74ik
3075 / 1320 / 164
Регистрация: 20.02.2013
Сообщений: 3,755
Записей в блоге: 15
08.08.2014, 17:43     Требуется посчитать сумму целых чисел от 1 до N #16
Цитата Сообщение от Vourhey Посмотреть сообщение
Не должна, а может. А может и не возвращать. Требования возвращать - нет.
Требования всегда и везде возвращать 0 или EXIT_SUCCESS, вроде как нет, согласен.
В стандарте написано, "должно возвращать int, в противном случае зависит от реализации":
Цитата Сообщение от C++ Standart ISO/IEC 14882:2003(E)
3.6.1 Main function (page 44)
It shall have a return type of type int, but otherwise its type is implementation-defined.
Но, как я понял, в общем случае, лучше писать в конце main'a
C++
1
return 0;
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
08.08.2014, 17:49     Требуется посчитать сумму целых чисел от 1 до N #17
Цитата Сообщение от gru74ik Посмотреть сообщение
В стандарте написано, "должно возвращать int, в противном случае зависит от реализации":
Про это ты написал:
Цитата Сообщение от gru74ik Посмотреть сообщение
была типа int
А
Цитата Сообщение от gru74ik Посмотреть сообщение
возвращала значение типа int
Это уже другое. Либо ты продублировал одно и то же утверждение двумя разными строками.
В любом случае, main иметь внутри себя return с интом никому не должна

Добавлено через 1 минуту
Цитата Сообщение от gru74ik Посмотреть сообщение
Требования всегда и везде возвращать 0 или EXIT_SUCSESS, вроде как нет
Его нигде нет
gru74ik
Модератор
 Аватар для gru74ik
3075 / 1320 / 164
Регистрация: 20.02.2013
Сообщений: 3,755
Записей в блоге: 15
08.08.2014, 17:49     Требуется посчитать сумму целых чисел от 1 до N #18
Цитата Сообщение от Vourhey Посмотреть сообщение
возвращаемый тип она должна иметь int, но иметь return с интом внутри себя никому не должна
Вроде понял, благодарю.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2014, 17:50     Требуется посчитать сумму целых чисел от 1 до N
Еще ссылки по теме:

Дано 2 массива A и В, целых чисел. Нужно посчитать количество тех чисел которые A[i]>B[i] C++
2. Дана последовательность чисел. Посчитать сумму цифр десятичной записи всех отрицательных чисел C++
C++ Написать программу, которая вычисляет сумму первых n целых положительных целых чисел

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

Или воспользуйтесь поиском по форуму:
Vourhey
08.08.2014, 17:50     Требуется посчитать сумму целых чисел от 1 до N
  #19

Не по теме:

Наоффтопили немного, пора закруляться...

Yandex
Объявления
08.08.2014, 17:50     Требуется посчитать сумму целых чисел от 1 до N
Ответ Создать тему
Опции темы

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