Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2013, 18:38   #1
АнтонКиселев
Новичок
Джуниор
 
Регистрация: 09.12.2013
Сообщений: 2
По умолчанию В чем же проблема? Расстояние от точки до точки.

У меня проблема. Релизую решение задачи : Даны 3 массива x(n), y(n), z(n) найти точку наименее удаленную и наиболее отдалённую от точки M(p,q,r)
Код:
#include <cstdlib>
#include <iostream>
#include <Math.h>
using namespace std;

float dlina(float x, float y, float z, float p, float r, float q){
    float dl, xi, yi, zi;
    xi = p - x;
    yi = q - y;
    zi = r - z;
    dl = sqrt((xi*xi)+(yi*yi)+(zi*zi));
    return dl;
    }
int main(int argc, char *argv[])
{
    float *x, *y, *z, naib, naim, p, q, r;
    int i, n, ind_naib, ind_naim;
    cout<<"Vvedite razmernost' massiva : "; cin>>n;
    x = new float [n];
    y = new float [n];
    z = new float [n];
    cout<<"\nVvedite massivy c koordynatami : \n";
    for(i = 0; i<n; i++){
        cout<<"x["<<i+1<<"] = "; cin>>x[i];
        cout<<"y["<<i+1<<"] = "; cin>>y[i];
        cout<<"z["<<i+1<<"] = "; cin>>z[i];
        }
    cout<<"\nVvedite koordinaty tochki M : \n";
    cout<<"p = "; cin>>p;
    cout<<"q = "; cin>>q;
    cout<<"r = "; cin>>r;
    cout<<"\nM("<<p<<", "<<q<<", "<<r<<")\n";
    naib = dlina(x[0],y[0],z[0],p,q,r);
    for(i = 1; i<n; i++){
        if (dlina(x[i],y[i],z[i],p,q,r)>naib){
            naib = dlina(x[i],y[i],z[i],p,q,r);
            ind_naib = i;
            }
        }
    naim = dlina(x[0],y[0],z[0],p,q,r);
    for(i = 1; i<n; i++){
        if (dlina(x[i],y[i],z[i],p,q,r)<naim){
            naim = dlina(x[i],y[i],z[i],p,q,r);
            ind_naim = i;
            }
        }
        cout<<"\n"<<ind_naim<<"\n";
    cout<<"Tochka s koordynatami ("<<x[ind_naib]<<", "<<y[ind_naib]<<", "<<z[ind_naib]<<") naibolee udalena ot M.\n";
    cout<<"Tochka s koordynatami ("<<x[ind_naim]<<", "<<y[ind_naim]<<", "<<z[ind_naim]<<") naimenee udalena ot M.\n";
    system("pause");
    return EXIT_SUCCESS;
}

Последний раз редактировалось Stilet; 09.12.2013 в 19:24.
АнтонКиселев вне форума Ответить с цитированием
Старый 09.12.2013, 23:08   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Судя по беглому взгляду, все правильно (только ind_naib/naim нулем инициализировать сначала надо). В чем именно проблема? Телепаты в тему пока не пришли.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
расстояние от точки до фигуры. Олег23 Помощь студентам 3 21.11.2012 21:50
найти расстояние от произвольной точки до ближайшей стороны треугольника. Неправильно находит расстояние zaira001002 Помощь студентам 4 05.11.2012 20:55
минимальное расстояние от точки до функции С++ Алинка Общие вопросы C/C++ 1 20.04.2012 00:43
Определить расстояние от точки до центра координат sektor2011 Помощь студентам 3 23.01.2011 19:50
Расстояние точки до поверхности Mikhail Bakurov Общие вопросы Delphi 9 20.01.2009 23:05