Форум программистов, компьютерный форум CyberForum.ru

Найти наибольшее расстояние (массив) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поменять местами элементы в массиве http://www.cyberforum.ru/cpp-beginners/thread637390.html
Даны действительные числа х1, …, хn (все числа попарно различны). Поменять местами наибольший и наименьший элементы.
C++ Выбрать наибольший и наименьший элементы в матрице Помогите пожалуйста!!!! Дана вещественная матрица размером m x n. все элементы которой различны. В каждой строке выберите элемент с наименьшим значением, затем среди этих чисел выберите наибольшее. Укажите индексы найденного элемента. http://www.cyberforum.ru/cpp-beginners/thread637382.html
Получить цвет фона экрана консольного окна (можно и методами WinAPI) C++
Привет. Как получить цвет (фона экрана) консольного окна? Можно и методами WinAPI. С меня печенька :)
Определить, является ли целая квадратная матрица порядка n симметричной (относительно главной диагонали) C++
Помогите пожалуйста, срочно нужно
C++ Транспонировать данную вещественную квадратную матрицу порядка n http://www.cyberforum.ru/cpp-beginners/thread637344.html
Помогите срочно нужно, пожалуйста!
C++ Остановка действий Можно ли как нибудь остановить выполнения программы на некоторое время? подробнее

Показать сообщение отдельно
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
14.08.2012, 10:55     Найти наибольшее расстояние (массив)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <cmath>
 
struct point
{
    double x, y;
    double distance(const point &pt)
    {
        return sqrt((x - pt.x) * (x - pt.x) + (y - pt.y) * (y - pt.y));
    }
};
 
std::ostream& operator<< (std::ostream& out, const point& pt)
{
    out << "[" << pt.x << ", " << pt.y << "]";
    return out;
}
 
int main()
{
    const int count = 6;
    point points[count] = {
        { 2.2, 3.3 },
        { 2.3, 4.2 },
        { 5.3, 3.5 },
        { 4.5, 5.3 },
        { 3.6, 4.2 },
        { 0.3, 7.6 }
    };
    int pos1 = 0, pos2 = 0;
    point point_first = points[pos1];
    point point_second = points[pos2];
    double distance = 0.0;
    for(int i = 0; i < count; i++)
        for(int j = i + 1; j < count; j++)
            if (points[i].distance(points[j]) > distance)
            {
                point_first = points[pos1 = i];
                point_second = points[pos2 = j];
                distance = points[i].distance(points[j]);
            }
    std::cout << "Maximum distance " << distance << " between " << point_first
             << " and " << point_second << " points. "<< std::endl;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru