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

составить алгоритм—программу для определения наименьшей окружности - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как отследить ввод символа в программу http://www.cyberforum.ru/cpp-beginners/thread114224.html
Программа расчета площади поверхности и объема сферы,требуется ввод радиуса.что делать,если пользователь введет букву или ,например, 2lgau. Помогите пожалуйста,программа есть,отслеживает ввод отрицательного значения,а с символами проблема..
C++ работа смассивами ввести массивы А и В. В массиве С скопировать те элементы массива А, которых нет в массиве В. и те элементы массива В,которых нет в массиве А. Из массива В удалить все четные элементы массива А,В и С отсартировать по возрастную. http://www.cyberforum.ru/cpp-beginners/thread114223.html
C++ Обработка линейных динамических списков***
Добрый день! Очень нужна ваша помощь! Нужно составить программы обработки списков: 1) Односвязный список: удалить заданный элемент; элемент задан значением поля; удаляется первый элемент. 2) Двухсвязный список: подсчитать число элементов списка. 3) Цикличный список: добавить новый элемент после заданного; элемент задан ссылочной переменной. Программы нужно составить без использования...
C++ Создать класс "точка" и производный класс "отрезок"
Создать класс "точка" и производный класс "отрезок" ИСПОЛЬЗОВАТЬ КОНСТРУКТОРЫ И ДИСТРУКТОРЫ и к отрезку метод получения его длинны.... вообщем запара немного с конструктарами и диструкторами, не уверен что правильно всё написал.. И никак не могу понять какая формула для расчёта длинны...может подскажете ? Помогите с реализацией класса пожалуйста!
C++ работа с классом. Создание вектора из матрицы http://www.cyberforum.ru/cpp-beginners/thread114161.html
Ну, суть состоит в том, что надо сделать 2 конструктора с параметрами - один забивает матрицу по формуле (для каждой формулы свой фиксированный размер матрицы), а второй - забивает случайными числами в диапазоне (размер матрицы случайный). Затем в матрице считается параметр P - произведение не нулевых элементов, находящихся выше главной диагонали. Если P>0, то преобразуем матрицу (находим среднее...
C++ Списки!!! Помогите ПЛИЗЗЗ!!! И если можно добавьте комментарии к каждой строке!!!:) Добавить новый элемент после заданного; элемент задан ссылочной переменной??? И объясните пожалуйста, что такое ссылочная переменная??? #include "stdafx.h" #include <iostream> using namespace std; typedef struct element { char inf; подробнее

Показать сообщение отдельно
Basil2009
0 / 0 / 0
Регистрация: 08.04.2010
Сообщений: 11
08.04.2010, 14:49     составить алгоритм—программу для определения наименьшей окружности
Требуется составить алгоритм—программу для определения наименьшей окружности (центр и минимальный радиус), охватывающей не менее K из N заданных точек на плоскости.
Исходные точки на плоскости (х1 у1), (х2,у2),..., (хN, уN) задаются в текстовом файле. Результаты расчетов (координаты центра окружности, радиус ее и точки (xi,уi, попадающие в окружность) сохранить в текстовом файле. Решите эту же задачу, но искомая окружность должна включать все заданные точки (хi,уi). Подскажите пожалуйста алгоритм! Буду очень благодарен!

Добавлено через 47 минут
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include "math.h"
 
#include "rand.h"
#include "func2d.h"
#include "Vector2d.h"
#include "Vector3d.h"
#include "ShevArray.h"
#include "WireModel.h"
#include "Mathem.h"
#include "opti2d.h"
 
typedef unsigned int nat;
 
//**************************** 23.08.2003 *********************************//
//
//          Минимальная охватывающая окружность
//
//**************************** 04.11.2009 *********************************//
 
Circle2d minCircle ( CArrRef<Vector2d> points )
{
    nat n = points.size();
    if ( n == 0 ) return Circle2d ();
    if ( n == 1 ) return Circle2d ( 0, points[0] );
    if ( n == 2 )
    {
        const Vector2d o = 0.5 * ( points[0] + points[1] );
        return Circle2d ( norm2 ( points[0] - o ), o );
    }
    const Vector2d ** p = new const Vector2d *[n];
    nat i;
    for ( i = 0; i < n; ++i ) p[i] = & points[i];
    PRand rand;
    for ( i = 0; i < n; ++i )
    {
        nat j = rand.number(n);
        if ( i != j )
        {
            const Vector2d * t = p[i];
            p[i] = p[j];
            p[j] = t;
        }
    }
    Vector2d o = 0.5 * ( *p[0] + *p[1] );
    double q = qmod ( *p[0] - o );
    for ( nat i1 = 2; i1 < n; ++i1 )
    {
        const Vector2d & v1 = *p[i1];
        if ( qmod ( v1 - o ) <= q ) continue;
        o = 0.5 * ( v1 + *p[0] );
        q = qmod ( v1 - o );
        for ( nat i2 = 1; i2 < i1; ++i2 )
        {
            const Vector2d & v2 = *p[i2];
            if ( qmod ( v2 - o ) <= q ) continue;
            o = 0.5 * ( v1 + v2 );
            q = qmod ( v1 - o );
            for ( nat i3 = 0; i3 < i2; ++i3 )
            {
                const Vector2d & v3 = *p[i3];
                if ( qmod ( v3 - o ) <= q ) continue;
                circlePPP ( v1, v2, v3, o, q );
            }
        }
    }
    delete[] p;
    return Circle2d ( sqrt ( q ), o );
Вот нашел какой-то код))ХД http://prografix.narod.ru/min_circle.html
посогите разобраться что и где, и куда ввод вывод вставлять))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru