Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2012, 22:07   #1
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию Найти сумму чисел..

Найти сумму чисел 1, 1/2, 1/3, 1/4 и т.д., больших заданного числа А.

Код:
{
{
double s,a,n;
s=0;
a=Edit1->Floating;
for (n=1; ;n+=1)
{s=1/(n+1);
}
if (s>a)
Label1->Caption=n;
else
Label1->Caption="Нет решений";
}

}
Помогите решить задачку,заранее спасибо..

Последний раз редактировалось Stilet; 11.02.2012 в 09:21.
Ins1De вне форума Ответить с цитированием
Старый 09.02.2012, 22:43   #2
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Код:
int S = 1.5f;
int p = 2;
while (1/p > A)
{
S += 1 / (++p);
}
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 10.02.2012, 01:04   #3
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

Код:
int S = 1.5f;
int p = 2;
while (1/p > A)
{
S += 1 / (++p);
}
Спасибо большое,но не чего не понял..что откуда береться.. S = 1.5f - это что? по подробнее можно?

переделал программу...
Код:
{
{
double a,b=0,S=0;
a=Edit1->Text.ToDouble();
for (b=1; ;b+=1)
if(1./b>a)
{S=S+1/b;
Label1->Caption="S";}
else
Label1->Caption="Нет решения";
}
}
Теперь почему что то программа виснет...помогите найти ошибку

Последний раз редактировалось Stilet; 11.02.2012 в 09:23.
Ins1De вне форума Ответить с цитированием
Старый 11.02.2012, 06:13   #4
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

for (b=1; ;b+=1)
это как бы бесконечный цикл
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 11.02.2012, 11:21   #5
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

Цитата:
{
double b=0,S=0,a;
a=Edit1->Text.ToDouble();
for (b=1;b<=a;b+=1)
S=S+b;
if(1./b>a)
{S=S+1./b;
Label1->Caption=S;}
else
Label1->Caption="Нет решения";
}
тогда так...теперь почему то ответ 1...
Ins1De вне форума Ответить с цитированием
Старый 11.02.2012, 12:25   #6
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Код:
float S = 1;
int p = 1;
double A = Edit1->Text.ToDouble();
while (1/(++p) > A)
{
S += 1 / p;
}
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Старый 11.02.2012, 12:38   #7
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

Ответ все равно один,а мы вводя в Edit вещественное значение, должны получить сумму до этого числа...

Спасибо Inv1s, все разобрался.последний твой код правильный.

Последний раз редактировалось Ins1De; 11.02.2012 в 14:45.
Ins1De вне форума Ответить с цитированием
Старый 18.02.2012, 21:45   #8
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Ins1De Посмотреть сообщение
Спасибо большое,но не чего не понял..что откуда береться.. S = 1.5f - это что? по подробнее можно?
1.5f - литерал типа float...
rmv240899 вне форума Ответить с цитированием
Старый 18.02.2012, 22:00   #9
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Inv1s Посмотреть сообщение
Код:

float S = 1;
int p = 1;
double A = Edit1->Text.ToDouble();
while (1/(++p) > A)    //<--условие выполнится, 
                              //только если А отрицательное число
{
    S += 1 / p; // <--всегда будет равно 1
}
Вы уверенны, что это именно то, что было нужно?
_Bers вне форума Ответить с цитированием
Старый 18.02.2012, 22:03   #10
Inv1s
Форумчанин
 
Аватар для Inv1s
 
Регистрация: 06.11.2011
Сообщений: 214
По умолчанию

Цитата:
Код:
S += 1 / p; // <--всегда будет равно 1
Верное замечание, надо было 1.0f писать.
Но в любом случае человек разобрался
Помог, нажми на весы
html, js, php, С++, С#, OpenGl, DirectX, XNA, HLSL
Inv1s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму чисел фибоначчи! xpams Паскаль, Turbo Pascal, PascalABC.NET 1 10.10.2011 05:32
Найти сумму чисел Моська Фриланс 6 23.01.2011 11:55
найти сумму чисел, которые не попадают в интервал [с, d]. Krazier Помощь студентам 4 05.02.2010 13:37
Найти сумму всех чисел из промежутка от А до В, кратных 8 и 16 nickky2 Паскаль, Turbo Pascal, PascalABC.NET 8 05.12.2008 13:27
Найти сумму положительных нечетных чисел меньше 50 мандаринка Паскаль, Turbo Pascal, PascalABC.NET 8 22.12.2007 21:45