Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Visual C++ / С/C++

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 27.12.2012, 09: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 вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: буквы вывескишары с доставкой краснодарбелорусские сыры купитьбанкетка обувницатеплоход из москвы на кижи валаам


Старый 03.01.2013, 17:05   #2
Welsper
Неактивный пользователь
 
Пол:Мужской
Регистрация: 03.01.2013
Сообщений: 1
Репутация: 0
По умолчанию Re: не корректно выводит min из массива [с++]

1) Границы циклов неправильные, проходим не все, зато остальное 2 раза проверяем... жесть.
2) Сначала найди минимальное расстояние, потом выводи что ему соответствует.

примерно такой код (надеюсь xySqrt так и сделана, что принимает x1,x2,y1,y2, а не x1,y1,x2,y2):

Код:
min = xySqrt(ms[0].x,ms[1].x,mx[0].y,ms[1].y);
for (i=0; i<k-1; i++)
  for (j=i+1; j<k; j++)
  {
    float mm = xySqrt(ms[i].x,ms[j].x,ms[i].y,ms[j].y);
    if (mm < min)
      min = mm;
  }

cout << "min distance: " << min << " on points:" << endl;

for (i=0; i<k-1; i++)
  for (j=i+1; j<k; j++)
     if (min = xySqrt(ms[i].x,ms[j].x,ms[i].y,ms[j].y))
       cout << i << ") x:" << ms[i].x << "  y:" << ms[i].y << " --- "
              << j << ") x:" << ms[j].x << "  y:" << ms[j].y << endl;
Welsper вне форума
 
Ответить с цитированием Вверх
Ответ

Опции темы
Опции просмотра

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
через 2 массива Grizlen Visual C++ / С/C++ 1 05.01.2011 17:13
Мозилла при печати выводит пустой лист zss Скорая помощь 1 26.10.2010 13:57
пердача массива в фунцию BFTFenix Visual C++ / С/C++ 11 07.10.2008 04:15
Комп выводит сообщения о прекращении работы хост-процесса Windows(Rundll32) GICHAR Windows Vista 5 16.09.2008 23:27
Скрипт php выводит чушь, вместо русских слов. anikey_ss UNIX, Linux, MacOs для PC и другие ОС 5 31.05.2007 17:08

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 07:38. Часовой пояс GMT +3.


Copyright ©2004 - 2024 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.13023 секунды с 11 запросами