Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
C++

Упомянутые в теме пользователи:

Показано с 1 по 12 из 43

Тема: C++

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #12
    Гуру
    Регистрация
    23.03.2014
    Сообщений
    359
    Поблагодарил(а)
    27
    Получено благодарностей: 33 (сообщений: 22).
    Репутация: 33
    Цитата Сообщение от DreamlØlz Посмотреть сообщение
    Я же привел пример с другом и грушей =)

    Хорошо , в переменную типа int с можно записать целочисленные. Вводим целочисленные. После чего int c = a + b; , получаем к примеру 5 + 5 = 10 , теперь же пробуем записать в int c = (a * b) / (c / d) + e , получаем например 2*2/2/2+2 , в ответе целочисленное 3, краша нет ,вводим 5*3 / 100/3 + 20 , получаем 15 / 0.333333333 + 20 и программа крашится , т.к 15/0.33333+20 = 60,00045000450005 и эти 60,00045000450005 уже вещественные , но записать должно в переменную не вещественную. Аналгичная ситуация выйдет если в знаменателе одной из дробей будет 0.
    Ну вобще получаем 15 / 0 + 20 так как идет округление в инт
    0.99999999999999 кстати тоже 0 при таком округлении
    + следовало бы сделать проверки на 0 в делителе и бросить exception
    P.S. Как вариант можно int в начале поменять на float. В результате дробная часть будет откинутая и получим int
    Последний раз редактировалось Juicylolx; 11.07.2016 в 23:21.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •