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

Определить минимальное подмножество точек, после удаления которых останутся точки лежащие на одной прямой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, находятся ли данные прямые в общем положении http://www.cyberforum.ru/cpp-beginners/thread80872.html
Помогите доделать пожалуйста! Имеется n прямых на плоскости, заданных коэффициентами. Определить, находятся ли данные прямые в общем положении, т.е. все они различны, никакие две из них не...
C++ функции помогите пожалуйста решить задачу оформить следующие задачи через функции. 1. Вычислить значения функции F на интервале от Хнач. до Хкон. с шагом dX ax^2 + b/c , при x<1 и c|=0 F... http://www.cyberforum.ru/cpp-beginners/thread80871.html
C++ работа со строками
помогите пожалуйста написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел спасибо!
C++ упорядочивание строк матрицы
никак не могу написать программы по индивидуальным заданиям, и списать негде:( помогите пожалуйста!!! коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. с помощью...
C++ создания и работы с файлами в языке С++ http://www.cyberforum.ru/cpp-beginners/thread80865.html
1.1 Создать файл, содержащий сведения о месячной заработной плате сотрудников отдела. Каждая запись содержит поля: фамилия сотрудника, наименование отдела, размер заработной платы за месяц, должность...
C++ никак не могу разобраться с с++ Здравствуйте. У меня проблема. Я не знаю С++ и надо сдавать программы завтра,часть я сама как то написала,но вот остальное без понятия и уже мозг не соображает. Пожалуйста напишите эти задачи.... подробнее

Показать сообщение отдельно
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
28.12.2009, 07:26
тестировать было не когда
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
#include <iostream>
using namespace std;
 
// поиск прямой на которой лежит  максимальное число точек. 
#define X 0
#define Y 1
#define nPoint sizeof(Points)/2/sizeof(Points[0][0])
 
const double Points[][2] = {
    { 1.0, 1.0},
    { 12.0, 12.0},
    { 14.0, 14.0},
    { 15.0, 15.0},
    { 2.0, 3.0},
    { 4.0, 7.0},
    { 5.0, 9.0}
}; 
 
// y=kx+b
double Calc_K(double x1, double y1, double x2, double y2)
{   
    return (y1-y2)/(x1-x2);
}
 
// y=kx+b
double Calc_B(double x1, double y1, double x2, double y2)
{   
    return (y2*x1-y1*x2)/(x1-x2);
}
 
int main ()
{
 
    double k,b, finder[2][2];
    int counter, temp=-1;
 
    for (int i=1; i<nPoint; i++)
    {
        if(Points[i-1][X]==Points[i][X])  continue;
 
        k=Calc_K(Points[i-1][X], Points[i-1][Y], Points[i][X], Points[i][Y]);
        b=Calc_B(Points[i-1][X], Points[i-1][Y], Points[i][X], Points[i][Y]);
        counter=2;
        for (int j=i+1; j<nPoint; j++)
        {
            if(Points[j][Y]==k*Points[j][X]+b) ++counter;
        }
        if(counter>temp) 
        { 
            temp=counter; 
            finder[0][X]=Points[i-1][X]; finder[1][X]=Points[i][X];
            finder[0][Y]=Points[i-1][Y]; finder[1][Y]=Points[i][Y];
        }
    } // for (int i=1;
 
    cout<<"points: "<<temp<<" line:: x1: "<<finder[0][X]<<" y1: "<<finder[0][Y]
            <<" x2: "<<finder[1][X]<<" y2: "<<finder[1][Y]<<endl;
    system("pause");
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru