powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Зацикливание программы при использовании оператора goto
7 сообщений из 7, страница 1 из 1
Зацикливание программы при использовании оператора goto
    #38951502
Artyom88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
a:
for (int z=1;z<NN;z++)
{
	alfa[z]=F/(1+F*(2-alfa[z-1]));
	beta[z]=(teta[z]+F*beta[z-1])/(1+F*(2-alfa[z-1]));
	nn=StrToFloat(Form1->LabeledEdit14->Text);
	gamma=1-alfa[nn-1]-beta[nn-1];
}
// Вычисление уточненного значения F1:
F1=(gamma*F+K0+(1-teta[nn]))/G;
if (abs(1-F/F1)<0.001)
{
	if (F>250)
	{
		return;}
	else {
		goto b;
	}}
else {
	F=F1;
	goto a;
}
//Обратная прогонка:
b:
teta[nn]=1;
for (int x=nn-1;x==0;x--)
{
	teta[x]=alfa[x]*teta[x+1]+beta[x];
}
timex2=timex1+F*(pow(dy,2))/a;
delta1=delta1-dy;
q2=alam*(teta[1]-teta[0])*(T1-T2)/dy;
goto a;


Модератор: Отформатировано
...
Рейтинг: 0 / 0
Зацикливание программы при использовании оператора goto
    #38951508
Artyom88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема в зацикливании проги, если условие N1 не выполняется, то F=F1 и пошел на метку А. Если выполняется то переходим ко второму условию, при котором если оно выполняется то заканчиваем расчет, а если нет то идем на метку B и после перерасчета идем на метку А.
...
Рейтинг: 0 / 0
Зацикливание программы при использовании оператора goto
    #38951521
wst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу ошибаться, но выложенному примеру вида "метка: что-то; goto метка" и положено зацикливаться, так что все работает как надо.
...
Рейтинг: 0 / 0
Зацикливание программы при использовании оператора goto
    #38951533
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artyom88,

тут нет каких то ошибок в программе, ошибка в алгоритме, ну так и отлаживай.
А поскольку от лажи вание -- это процесс устранения лажи из программы, то первая
лажа, которую надо отсюда убрать--это goto. Оформи программу с нормальными циклами, и уже будет легче -- ты поймешь, каковы условия выхода из цикла и каковы переменные цикла.
...
Рейтинг: 0 / 0
Зацикливание программы при использовании оператора goto
    #38951535
RWolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Artyom88for (int x=nn-1;x==0;x--)
Подозреваю, что имелось в виду for (int x=nn-1; x>=0; x--)
...
Рейтинг: 0 / 0
Зацикливание программы при использовании оператора goto
    #38951550
Artyom88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

Вы были правы ошибка в алгоритме. не хватает строчки nn=nn-1 в конце))
...
Рейтинг: 0 / 0
Зацикливание программы при использовании оператора goto
    #38951590
Artyom88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWolf,

Спасибо полезное замечание!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Зацикливание программы при использовании оператора goto
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]