0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 16
1

Программа зацикливается

20.05.2015, 21:44. Показов 1006. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int k;
float a,sum,x;
a=StrToFloat(Edit1->Text);
k=1;
sum=0;
Memo1->Lines->Clear();
while (sum<a){
x=(1/k);
sum=sum+x;
k++;
Memo1->Lines->Add(FloatToStr(sum));
}
Edit2->Text=IntToStr(k);
Edit3->Text=FloatToStr(sum);
}
прога зацыкливаеться; потому что
C++
1
sum=sum+x;
не плюсуеться, непойму что не так;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2015, 21:44
Ответы с готовыми решениями:

Программа зацикливается
Программа зацикливается после ввода размеров массива. Подскажите пожалуйста, где ошибка. #include...

программа зацикливается
помогите скажите пожалуйста почему моя программа зацикливается #include&lt;stdio.h&gt;...

Зацикливается программа
Нужно сделать стек из элементов и вывести все положительные значения. Программа на этапе принта...

Программа зацикливается
всё описание я зделал в коде #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;string&gt; ...

4
265 / 165 / 56
Регистрация: 25.02.2015
Сообщений: 435
20.05.2015, 22:01 2
Лучший ответ Сообщение было отмечено Brands как решение

Решение

1/k == 0 при к > 1. т.к. это целочисленная арифметика. итого, после первой итерации цикла ваша сумма наращивается на 0 в каждой итерации. т.е. не наращивается.
1.0/k - вот это уже арифметика с плавающей точкой и так все должно быть ок. пробуйте.
1
26 / 26 / 17
Регистрация: 08.04.2012
Сообщений: 202
20.05.2015, 22:01 3
Лучший ответ Сообщение было отмечено Brands как решение

Решение

ошибка
C++
1
int k
. Видно дело в приведение типов.
C++
1
float k
нужно так. И то при больших и очень больших a будет выполняться долго или не выполнятся вообще тут хз.
1
15 / 15 / 21
Регистрация: 18.04.2015
Сообщений: 73
20.05.2015, 22:11 4
Цикл правильный. sum увеличивается, оно является суммой гармонического ряда. Но , знаете, sum увеличивается очень медленно ( св-во гарм. ряда). Если "a" у вас примерно , примерно на 100 больше sum, чтобы выйти из цикла- sum должно быть >= а, то счётчику надо 10 в 50й степени раз крутить счётчик. Может из - за этого. Попробуйте подождать, или уменьшить разрыв а и sum.
0
0 / 0 / 0
Регистрация: 26.04.2014
Сообщений: 16
20.05.2015, 22:17  [ТС] 5
Цитата Сообщение от Perfilov Посмотреть сообщение
1/k == 0 при к > 1. т.к. это целочисленная арифметика. итого, после первой итерации цикла ваша сумма наращивается на 0 в каждой итерации. т.е. не наращивается.
1.0/k - вот это уже арифметика с плавающей точкой и так все должно быть ок. пробуйте.
Цитата Сообщение от ыфырф1992 Посмотреть сообщение
ошибка
Код C++
1
int k
. Видно дело в приведение типов.
Код C++
1
float k
нужно так. И то при больших и очень больших a будет выполняться долго или не выполнятся вообще тут хз.
и так и так работает, большое спс
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2015, 22:17
Помогаю со студенческими работами здесь

Программа зацикливается в цикле for
Помогите разобраться с программой вводит массив нормально, но потом зацикливается. Задача такова...

Почему зацикливается программа?
Нужно найти сумму элементов матрицы 4x4 на побочной диагонали. Если поразмышлять, любой элемент...

Программа зацикливается. Почему?
Когда заполняю матрицу с клавиатуры - работает нормально. Когда заполняю случайными числами она...

Программа зацикливается,не понимаю причину
Зацикливается на vyvod2. typedef struct Tstek { int number ; struct Tstek*next; }Tstek; ...

Вычисление факториала: программа зацикливается
Здравствуйте. Нужна программа для расчета факториала. Факториал числа n — произведение всех...

Шеннон-Фано, зацикливается программа
В чем косяк? почему то зацикливается и все, хз даже что делать, перепробывал все :( #include...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru