Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2013, 18:56   #1
RG21
Пользователь
 
Регистрация: 17.04.2013
Сообщений: 15
Восклицание Даны два множества точек на плоскости.Язык С++.

Помогите дорешать.
Даны два множества точек на плоскости. Выбрать четыре различные точки первого множества так, чтобы квадрат с вершинами в этих точках накрывал все точки второго множества и имел минимальную площадь.

Код:
#include <stdafx.h>
#include <iostream>
 #include <conio.h>
 #include <stdio.h>
 #include <math.h>
using namespace std;

template<class T>
 T Reset(T massive1[2][3], T X[2], bool &opr)
 {
 int k,h,k1,h1;
 bool b=0;
 float A[2][3],Raz,elem,H=1,det,Sum;

 int n=2;

 for(k=0; k<n; k++)
 for(h=0; h<n+1; h++)
 A[k][h]=massive1[k][h];


 for(k=0; k<n-1; k++)
 {

 if(A[k][k]==0)
 {
 b=0;
 for(k1=k+1; k1<n; k1++)
 if(A[k1][k]!=0)
 {
 for(int kk=0; kk<n+1; kk++) 
 {
 elem = A[k1][kk];
 A[k1][kk]=A[k][kk];
 A[k][kk]=elem;
 }
 H=-H;
 b=1;
 break;
 }
 if(b==0)
 {k++; break;}
 }


	float Array(float mas[2][3], float x1, float y1, float x2, float y2, float x3, float y3)
 {

 mas[0][0]=2*x1+2*x2-2*2*x3;
 mas[1][0]=2*x1+2*x3-2*2*x2;

 mas[0][1]=2*y1+2*y2-2*2*y3;
 mas[1][1]=2*y1+2*y3-2*2*y2;

 mas[0][2]=x1*x1+x2*x2-2*x3*x3+y1*y1+y2*y2-2*y3*y3;
 mas[1][2]=x1*x1+x3*x3-2*x2*x2+y1*y1+y3*y3-2*y2*y2; 

 return **mas;
 }
void main()
 {
 int n=2,m,k,h;
 float m_1[2][3];
 float an_1[2];
 float **To,**Mn;
 float R;
 float x0,y0;
 float Total[9];
 int size=0,step=0;

 bool bb=0,b,opr=0;

 cout <<"Kolichestvo tochek na 1-om mnojestve \n\n n1=";
 cin>>n;
 cout <<"Kolichestvo tochek na 2-om mnojestve \n\n n2=";
 cin>>m;

 To=new float *[n]; 
 for(int k=0; k<n; k++)
 To[k]= new float [2];

 Mn=new float *[m]; 

 for(int k=0; k<m; k++)
 Mn[k]= new float [2];

 cout<<"\n\n";

 cout<<"\n\n 1-oe mnojestvo\n\n";
 for(int k=0; k<n; k++)
 {
 cout<<"X"<<k+1<<"=";
 cin>>To[k][0];
 cout<<"Y"<<k+1<<"=";
 cin>>To[k][1];
 }

 cout<<"\n\n 2-oe mnojestvo\n\n";
 for(int k=0; k<m; k++)
 {
 cout<<"X"<<k+1<<"=";
 cin>>Mn[k][0];
 cout<<"Y"<<k+1<<"=";
 cin>>Mn[k][1];
 }
 system("pause");
 return ;
 }

Последний раз редактировалось Stilet; 17.05.2013 в 20:06.
RG21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа. Даны 2 множества точек на плоскости - найти те три, которые образуют нужный треугольник ( C++ ) anya4363 Помощь студентам 0 06.02.2012 13:44
Даны координаты n точек на плоскости. Найти номера двух точек, расстояние между которыми наибольшее. Viwwna Паскаль, Turbo Pascal, PascalABC.NET 2 19.11.2011 06:33
дано два множества точек.Найти пересечение и разность этих множеств.Координаты точек X и Y вводить с клав Degster Паскаль, Turbo Pascal, PascalABC.NET 1 23.05.2011 16:35
дано два множества точек.Найти пересечение и разность этих множеств.Координаты точек X и Y вводить с клав Degster Паскаль, Turbo Pascal, PascalABC.NET 0 15.05.2011 18:32
множества точек на плоскости TachOn Фриланс 6 20.01.2010 18:30