Неправильно сравнивает числа типа double - C#
Формулировка задачи:
Помогите пожалуйста!!!!!неправильно сравнивает числа типа double!!!что не так?
xx, tm типа double z=95 r=3
if (p == 0)
{
for (int i = 0; i < z; i++)
{
for (int j = 0; j < r; j++)
{
if (xx[i] >= tm[j]) { M[i] += Mm[j]; }
}
}}
а если делаю условие что if(xx[i]==tm[j]) {M[i]=M[j];} то оно не выполняется...тоесть не видит равных чисел
Решение задачи: «Неправильно сравнивает числа типа double»
textual
Листинг программы
H-высота в метрах, h-шаг разбивания на сечения, z-кол-во сечений, x[i]-сечения
z1 = H / h + 1;
q = Math.Round(z1, 0);
z = (int)q;
//Цикл расчет значения координаты каждого сечения
x = new double[z];
double k1 = 0;
x[0] = 0;
for (int i = 1; i < z; i++)
{
if (i < z - 1)
{
k1 += h;
x[i] = k1;
}
else
{ x[i] = H; }
}