Показать сообщение отдельно
Старый 27.12.2012, 08:49   #1
Неактивный пользователь
 
Аватар для CTPAHHuK
 
Пол:Мужской
Регистрация: 20.04.2008
Сообщений: 38
Репутация: 30
По умолчанию не корректно выводит min из массива [с++]

Код:
float min(0);
    min=xySqrt(ms[1].x,ms[0].x,ms[1].y,ms[0].y);
    
    for(int i=0;i<=k-1;i++)
        for(int j=1;j<=k-1;j++)
            if( (i!=j) && ( (i!=0)&&(j!=1) ) )
            {
                if(xySqrt(ms[j].x,ms[i].x,ms[j].y,ms[i].y)<=min)//ошибка тут с МИН(если мин 1, а 2 меньше) и по н переменных мин
                cout << setprecision(2) 
                     << xySqrt(ms[j].x,ms[i].x,ms[j].y,ms[i].y) 
                     << "Koordin "<< ms[j].x << "-" << ms[i].x <<")("<< ms[j].y << "-" << ms[i].y 
                     << endl;
        };
Ищу мин расстояние между точками, за min взял две 1е координаты,
и тут возникают следующие ошибки:
если попадаются в начале 2 мин координаты
1.0,1.0
1.0,2.0
1.0,2.0
то выводит мин только одну;
если эти же координаты раскиданы дальше в файле(как пример) дальше получается, что он находит эти 2 мин и ниже этого мин (2е - по 1 и 2е по 0)
CTPAHHuK вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.09687 секунды с 10 запросами