#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
system("chcp 1251 > nul");
const int Nmax = 100;
int n, a, b, c;
cout << "Введите кол-во точек ";
cin >> n;
int m[Nmax],ma[Nmax],mb[Nmax],mc[Nmax];
for (int i=0; i!=n*2; ++i)
cin >> m[i];
cout << endl;
int p=0;
//____________________________________________Уравнения
for(int d=0; d!=n*2-2; d+=2)
{
for(int i=d; i!=n*2; i+=2)
{
b=m[i+2]-m[d];
a=(m[i+3]-m[d+1])*(-1);
c=(-1)*b*(m[d+1])-(a*m[d]);
ma[p]=a;
mb[p]=b;
mc[p]=c;
++p;
}
--p;
}
//____________________________________________Уравнения{end}
//____________________________________________Сокращение
for(int i=2; i!=p; ++i)
for(int z=0; z!=p; ++z)
{
if(ma[z]%i==0 && mb[z]%i==0 && mc[z]%i==0)
{
ma[z]=ma[z]/i;
mb[z]=mb[z]/i;
mc[z]=mc[z]/i;
}
if(ma[z]<0)
{
ma[z]=ma[z]*(-1);
mb[z]=mb[z]*(-1);
mc[z]=mc[z]*(-1);
}
}
//____________________________________________Сокращение{end}
//____________________________________________Подсчёт уравнений
int col=0,col2=0,per=0;
for(int i=0; i!=p-1; ++i)
{
for(int j=i; j!=p-1; ++j)
{
if(ma[i]==ma[j+1] && mb[i]==mb[j+1] && mc[i]==mc[j+1])
++col2;
}
if(col2>col)
{
col=col2;
per=i;
}
col2=0;
}
//____________________________________________Подсчёт уравнений{end}
cout << "Коэффициенты уравнения " << endl;
cout << "a= " << ma[per] << ", b= " << mb[per] << ", c= " << mc[per] << endl;
cout << "Точки прямой, удовлетворяющие уравнению: " << endl;
//____________________________________________Нахождение точек
for(int i=0; i!=n*2; i+=2)
if((m[i]*ma[per]+m[i+1]*mb[per]+mc[per])==0)
cout << "x= " << m[i] << ", y= " << m[i+1] << endl;
//____________________________________________Нахождение точек{end}
return 0;
}
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.