Но когда я попробую это на C++ независимо от того, какую функцию я пытаюсь использовать, кажется, что она округляет от 0,5 до 0, а не до 1, она отлично работает для других десятичных значений, но для 0,5 это происходит как с положительными, так и с отрицательными значениями.
Вот код, который я только что сделал:
Код: Выделить всё
#include
#include
#include
int main(){
using namespace std;
int a, b, n;
cin >> n;
int arr[n];
double prod;
for(int i = 0; i < n; i++){
cin >> a >> b;
prod = a/b;
if(prod < 0){
arr[i] = (int)(prod-0.5);
} else {
arr[i] = (int)(prod+0.5);
}
}
for(int i = 0; i < n; i++){
cout Size of the array.
571518625 -24104
-1893729058 -436796
2104753595 -158270
-822607240 72830
0 -79061
-627632490 -31441
369212137 18046
976324350 -57100
487246561 24578
-1317758661 119682
0 5341
1098940248 -68272
-923153725 61895`
Код: Выделить всё
-23710 4335 -13298 -11294 0 19962 20459 -17098 19824 -11010 0 -16096 -14914
Код: Выделить всё
-23711 4336 -13299 -11295 0 19962 20460 -17099 19825 -11011 0 -16097 -14915
Подробнее здесь: https://stackoverflow.com/questions/787 ... cimal-to-1