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

Простейшая программа. Зацикливание. Где ошибка? - C++

Восстановить пароль Регистрация
 
bezoomec
2 / 2 / 0
Регистрация: 15.09.2012
Сообщений: 47
13.11.2012, 22:25     Простейшая программа. Зацикливание. Где ошибка? #1
Ввести вещественное число A (> 1).
Вывести наибольшее из целых чисел N, для которых сумма 1 +
1/2 + ... + 1/N будет меньше A, и саму эту сумму

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main() {
 
    double
    a, sum = 1;
 
    unsigned int
    n = 2;
 
    cout << "vvedite a (bolshe 1)" << endl;
    cin >> a;
    while (sum < a) {
        sum += 1/n;
        cout << sum << " ";
        n++;
    }
    cout << "n = " << n-1 << endl << "sum = " << sum-1/n;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 22:25     Простейшая программа. Зацикливание. Где ошибка?
Посмотрите здесь:

C++ непойму где ошибка, программа перевода чисел..
C++ ребят!!простейшая программа!!
Простейшая программа с массивом C++
C++ простейшая программа C++
Почему не работает sqrt? Подскажите, где ошибка? Простенькая программа с тремя функциями C++
C++ Программа на C++ Где ошибка?
C++ Где тут ошибка? Программа сортировки массива по возрастанию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12269 / 6956 / 782
Регистрация: 27.09.2012
Сообщений: 17,255
Записей в блоге: 2
Завершенные тесты: 1
13.11.2012, 22:26     Простейшая программа. Зацикливание. Где ошибка? #2
может n<a?
bezoomec
2 / 2 / 0
Регистрация: 15.09.2012
Сообщений: 47
13.11.2012, 22:27  [ТС]     Простейшая программа. Зацикливание. Где ошибка? #3
не.. ввожу все нормально...
cout << sum << " "; показывает зацикливание , единички идут и идут
Sawyer1988
10 / 10 / 0
Регистрация: 04.03.2012
Сообщений: 128
13.11.2012, 22:28     Простейшая программа. Зацикливание. Где ошибка? #4
C++
1
if(sum<a)
всё ок
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12269 / 6956 / 782
Регистрация: 27.09.2012
Сообщений: 17,255
Записей в блоге: 2
Завершенные тесты: 1
13.11.2012, 22:29     Простейшая программа. Зацикливание. Где ошибка? #5
C++
1
sum += 1./n;
bezoomec
2 / 2 / 0
Регистрация: 15.09.2012
Сообщений: 47
13.11.2012, 22:30  [ТС]     Простейшая программа. Зацикливание. Где ошибка? #6
оо поперло... а почему так? почему 1 с точкой?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12269 / 6956 / 782
Регистрация: 27.09.2012
Сообщений: 17,255
Записей в блоге: 2
Завершенные тесты: 1
13.11.2012, 22:32     Простейшая программа. Зацикливание. Где ошибка? #7
Чтобы показать, что это не целочисленное деление (тип деления определяется первым аргументом). Можете привести 1 к типу double:
C++
1
sum += (double)1/n;
или поставить вместо 1 1.0
C++
1
sum += 1.0/n;
ну или просто 1.
C++
1
sum += 1./n;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2012, 22:36     Простейшая программа. Зацикливание. Где ошибка?
Еще ссылки по теме:

Простейшая программа, вывод на экран суммы, разности двух чисел. Ошибка C++
Простая программа не работает. где ошибка? C++
Зацикливание программы. В чем ошибка? C++
C++ Программа для решения квадратного уравнения. Где ошибка?
C++ Зависает и не завершается простейшая, пустая программа

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

Или воспользуйтесь поиском по форуму:
bezoomec
2 / 2 / 0
Регистрация: 15.09.2012
Сообщений: 47
13.11.2012, 22:36  [ТС]     Простейшая программа. Зацикливание. Где ошибка? #8
все ясно, я с этим приведением типов пролетел... действительно, один дабл, другой инт, и делю их
Yandex
Объявления
13.11.2012, 22:36     Простейшая программа. Зацикливание. Где ошибка?
Ответ Создать тему
Опции темы

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