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

Найти наибольшее расстояние между точками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как кодираются дробные числа в пакетах? http://www.cyberforum.ru/cpp-beginners/thread432277.html
Пытаюсь снифером ловить пакеты и доставать из них данные. В частности несколько приходящих чисел интересует. Целые числа легко находятся, а вот дробные непонятно как искать. Например есть вот такой кусок хекса: 12 14 09 48 E1 7A 14 AE 77 60 40 10 11 1A 07 08 DC CC DE 3D 10 04 1A 14 09 8F C2 F5 28 5C 77 60 40 10 Здесь точно присутствуют числа 131.74 и 131.73 (предполагаю, что где то на местах,...
C++ 2 задачи на С ++ и одна задача на С++ на oснoве MFC Вот а помогите ещё три задачи решить) Вторую задачу не надо. а по четвёртой почти всё сделал но у меня прога не считает уравнение а сразу выдают ошибку если не правильно всё. void CMy1234556Dlg::OnButton1() { if (m_C<0) http://www.cyberforum.ru/cpp-beginners/thread432272.html
C++ Максимальный элемент двумерного массива и его положение
Всем доброго времени суток. Помогите, пожалуйста, с задачей... Инициализировать массив n x n. n вводит пользователь. Найти максимальный элемент в массиве и его положение: номер строки, номер столбца. Собственно, вот мои наработки, но не знаю как определить положение... Заранее спасибо! #include <iostream> using namespace std; int main() {
C++ Помогите разобраться с кодом
Код - проверка ввода данных. Если вводиться "x6x", то вызывается исключение, правильным вводом являются только символы, например: "xxx", исключение работает правильно и после вызова исключения и исправления ошибки программа продолжает работу, а вот если исключение не вызывается т.е с первого раза вводятся правильные данные "xxx" то программа заканчивается после окончания выполнения функции...
C++ Задачка http://www.cyberforum.ru/cpp-beginners/thread432245.html
Ребят, может кто срочно решить задачу? Описать структуры, описывающие шар и точку в 3-мерном пространстве. Определить функцию, которая проверяет, находится ли точка внутри заданного шара.
C++ Наследование Ребят всем привет.Дайте задание для проверки знаний наследования и виртуальных функций,посложнее. подробнее

Показать сообщение отдельно
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
21.01.2012, 09:55     Найти наибольшее расстояние между точками
Предлагаю ввод сделать примерно таким:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    int size = 0;
    int **a = 0;
 
    std::cout << "Enter the number of points: ";
    std::cin >> size;
 
    a = new int*[ size ];
 
    for ( int i = 0; i < size; i++ )
    a[ i ] = new int[ 2 ];
 
    std::cout << std::endl;
 
    for ( int i = 0; i < size; i++ ) {
    std::cout << "Enter the x coordinate of " << i + 1 << " point: ";
    std::cin >> a[ i ][ 0 ];
 
    std::cout << "Enter the y coordinate of " << i + 1 << " point: ";
    std::cin >> a[ i ][ 1 ];
    }
Сейчас попробую сделать алгоритм.

Добавлено через 36 минут
Вот, сделал, вроде работает.
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
45
46
47
48
49
50
#include <iostream>
#include <cmath>
 
 
int main( int argc, char *argv[] ) {
 
    int size = 0, c1 = 0, c2 = 1;
    double **a = 0;
 
    std::cout << "Enter the number of points: ";
    std::cin >> size;
 
    if ( size < 2 )
    return 1;
 
    a = new double*[ size ];
 
    for ( int i = 0; i < size; i++ )
    a[ i ] = new double[ 2 ];
 
    std::cout << std::endl;
 
    for ( int i = 0; i < size; i++ ) {
    std::cout << "Enter the x coordinate of " << i + 1 << " point: ";
    std::cin >> a[ i ][ 0 ];
 
    std::cout << "Enter the y coordinate of " << i + 1 << " point: ";
    std::cin >> a[ i ][ 1 ];
    }
 
    std::cout << std::endl;
 
    double d = std::abs( std::sqrt( std::pow(( a[ 0 ][ 0 ] - a[ 1 ][ 0 ] ), 2 ) + std::pow(( a[ 0 ][ 1 ] - a[ 1 ][ 1 ] ), 2 )));
 
    for ( int i = 0; i < size; i++ )
    for ( int j = i + 1; j < size; j++ ) {
        double temp = std::abs( std::sqrt( std::pow( a[ i ][ 0 ] - a[ j ][ 0 ], 2 ) + std::pow( a[ i ][ 1 ] - a[ j ][ 1 ], 2 )));
 
        if ( temp > d ) {
        d = temp;
        c1 = i + 1;
        c2 = j + 1;
        }
    }
 
    std::cout << "Maximum distance between point " << c1 << " and point " << c2 << ". ( d = " << d << " )" << std::endl;
 
    std::cout << std::endl;
    return 0;
}
 
Текущее время: 22:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru