Какой тип у массива А?
Подозреваю, что double. Тогда A[i]=0.999999999999
Выведи в консоль и посмотри сам.
Тогда и арккосинус от этого числа будет отличен от нуля.
Во втором случае у тебя int и результат поэтому другой
double[] a = new double[5];
a[0] = 0.9999999999999999;
Console.WriteLine("{0}", a[0]);
Console.WriteLine("{0}", Math.Acos(a[0]));
Output:
1
1.49011611938477E-08
https://dotnetfiddle.net/Ye2kTi
Обрати внимание, 0.9999999999999999 в консоли выводится как 1
Здесь подробнее почему такое происходит:
https://stackoverflow.com/questions/24420748/c-sha...