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

Я не знаю как доработать - C++

Восстановить пароль Регистрация
 
Deffer
Сообщений: n/a
24.10.2012, 22:36     Я не знаю как доработать #1
Написал код, но очень криво и нифига ничего не работает. Наш препод ничерта не объясняет =(
Учу С всего 2 месяца

Итак задание: Задано вещественное число а. Найти такое наименьшее n, при котором выполняется условие: 1+1/2+1/3+ … +1/ n > a.

То что я нацарапал:

#include <stdio.h>
#include <conio.h>
#include <locale>

void main()
{
setlocale(LC_ALL, "Russian");
int d, f;
double S, T, a;

printf("Введите число А: ");
scanf("%lf", &a);
S=0;
T=1;
d=1;

while(T<=a)
{

T=T+1*(1/d);
d=d+1;
}

printf("число N равно: %d", d);
getch();

}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2012, 22:36     Я не знаю как доработать
Посмотрите здесь:

как доработать программу? C++
C++ Не знаю как выполнить
нужно найти ошибки в задаче на языке C/ их в районе 10 как выдает компилятор но я не могу их исправить (не знаю как) C++
C++, бинарное дерево. Как доработать программу? C++
C++ Не знаю как назвать
C++ Не знаю как отсортировать
Не знаю как реализовать C++
C++ Не знаю как написать

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
14004 / 8835 / 1234
Регистрация: 24.12.2010
Сообщений: 16,014
24.10.2012, 22:51     Я не знаю как доработать #2
На вскидку логика правильная. Может быть в этом дело
C
1
scanf("%lf", &a);
a - целое, а %lf в scanf пишет в длинный дубль. Правильнее
C
1
 scanf("%d", &a);
Ну еще, красивше ваш цикл записать так
C
1
 for(T=0, d=1; T<=a; d++) T+= 1.0/d;
Обратите внимание на 1.0 вместо 1. Иначе 1/d почти всегда = 0
Deffer
Сообщений: n/a
25.10.2012, 00:56     Я не знаю как доработать #3
Спасибо огромное, наверное из-за того, что я не выставил единичку как 1.0 у меня ничего и не выходило
Yandex
Объявления
25.10.2012, 00:56     Я не знаю как доработать
Ответ Создать тему
Опции темы

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