Сейчас я пишу программу, которая вычисляет арктангенс двух чисел, и я хотел бы использовать?: как оператор if, чтобы упростить мой код. Поскольку atan от нуля до нуля - это минус бесконечность, я добавил оператор так, чтобы если абсолютное значение вычисленного atan больше 90, результат должен быть равен 90 градусам. Однако мой код выдает -2147483648 вместо 90. В чем проблема моего кода? Большое спасибо!
#define _USE_MATH_DEFINES
#include <iostream>
#include <math.h>
#include <vector>
#include <stdlib.h>using namespace std;int main()
{
vector<int> abc(1);
int a=0,b=0;
abc[0]=abs((int)(atan((float)a / b) * 180 / M_PI)) > 90 ? 90 : (int)(atan((float)a / b) * 180 / M_PI);
cout<<abc[0];
return 0;
}