@ahame

Как исправить данную ошибку с делением на ноль?

Это деление может привести к делению на нулевую ошибку, потому что значение 0 течет как возможный делитель.
Речь идет про 1 и 15 строчки
int n = 0;
  double val = 0;

  for (int i = 0; i < p_count; ++i) {
    std::vector<double> cpoint;
    for (unsigned int j = 0; j < dim; ++j) {
      cpoint.push_back(p[dim * i + j]);
    }
    if (parea(cpoint)) {
      n++;
      val += pfunction(cpoint);
    }
  }

  val = val / n;
  double area = std::pow(sd, dim) * n / p_count;
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
Gremlin92
@Gremlin92
Ленивый и безъинициативный
У вас n==0 когда p_count==0 либо dim==0 либо не срабатывает parea ни разу. Нужно больше информации по коду
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы