powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / корявый цикл
7 сообщений из 7, страница 1 из 1
корявый цикл
    #38170354
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
for(float x=0; x<=3; x+=0.15)

такой цикл почему-то не обрабатывает х=3, хотя должен. подскажите, почему, и как грамотно исправить
можно так
Код: plaintext
1.
for(float x=0; x<=3.00000000001; x+=0.15)

но это как-то непрофессионально
...
Рейтинг: 0 / 0
корявый цикл
    #38170355
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerподскажите, почему
Потому что float это очень неточный тип и складывая кучу рюмок по 0.15 не получишь 3 литра.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
корявый цикл
    #38170356
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

понятно, спасибо. не разбираюсь в типах(vb6 мне ближе), сделал так:
Код: plaintext
1.
for(double x=0; x<=3; x+=0.15)

вроде работает
...
Рейтинг: 0 / 0
корявый цикл
    #38170363
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerкак грамотно исправить
Код: plaintext
1.
2.
3.
4.
for (int i=0;i<=20;i++){
	float x=0.15*i;
		
}
...
Рейтинг: 0 / 0
корявый цикл
    #38170365
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer,

в vb6 тоже есть целые, плавающие и ошибки округления. с double на это раз просто повезло, с другими константами опять возможна неудача
...
Рейтинг: 0 / 0
корявый цикл
    #38170374
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

ясненько, спасибо)
...
Рейтинг: 0 / 0
корявый цикл
    #38171459
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QlewerDimitry Sibiryakov,

понятно, спасибо. не разбираюсь в типах(vb6 мне ближе), сделал так:
Код: plaintext
1.
for(double x=0; x<=3; x+=0.15)

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


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