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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ekaterinaaa
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 22
#1

Готовая рабочая программа на С ++ .Выберите три различные точки из заданного множества точек на плоскости , так чтобы была минемальная разность между - C++

05.06.2013, 08:35. Просмотров 266. Ответов 0
Метки нет (Все метки)

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


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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
// triangle Kate.cpp: определяет точку входа для консольного приложения.
 
#include "stdafx.h"
#include <stdio.h>      
#include <stdlib.h>     
#include <time.h>
#include <iostream>
#include <conio.h>
 
#define n 15
 
using namespace std;
 
struct kor
{
 int x;
 int y;
};
int area(kor a, kor b, kor c)
{
  return abs((a.x - c.x)*(b.y - c.y) + (b.x-c.x)*(c.y-a.y));
}
int area1(kor a, kor b, kor c,int &f)
{ 
  f= abs((a.x - c.x)*(b.y - c.y) + (b.x-c.x)*(c.y-a.y));
return 0; 
}
 
int main()
{
    
    setlocale(LC_ALL,"Russian");
  kor a[n];
  int i,j,k,r;
  int i1,j1,k1;
  int raz, razmin;
  int f,ms,ls,ps;
   srand (time(NULL));
  for (i = 0; i < n; i++)
  {
   a[i].x = rand()%10+1;
   a[i].y = rand()%10+1;
  }
  for (i = 0; i < n; i++)
  {
   cout<<a[i].x << " " << a[i].y<<'\n';
  }
 
  i1 = 0;
  j1 = 0;
  k1 = 0;
  raz = 0;
  razmin = n;
  int c = 0, c1 = 0;
  for (i = 0; i < n- 2; i++)
  for (j = i + 1;  j < n - 1; j++)
  for (k = j + 1;  k < n; k++)
  {
 
  for (r = 0;  r < n; r++)
  {
   if ((r!=i) &&( r!=j) && (r!=k))
 
   { 
       area1(a[i], a[j], a[k],f);
       area1(a[i], a[j], a[r],ms);
       area1(a[i], a[r], a[k],ls);
       area1(a[j], a[r], a[k],ps);
 
      if (f == ms + ls + ps)
           c++;
      else
          c1++;
   }
  }
  raz = c1-c;
  if (raz<0)  raz = raz--;
  if (raz < razmin)
  {
      razmin = raz;
      i1 = i;
      j1 = j;
      k1 = k;
  }
  };
 
  if (i1 >= 0)
  {
      cout<<"Образована точками:"<<"\n"<<"X:";
    cout<<a[i1].x<<" "<<a[j1].x<<" "<<a[k1].x<<"\n";
    cout<< "Y:";
     cout<<a[i1].y<<" "<<a[j1].y<<" "<<a[k1].y<<"\n";
     
     cout<< "Размерность: "<<razmin<<endl;
  }
  else
   cout<<"неприемлемое количество, либо неприемлемое расположение точек";
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 08:35     Готовая рабочая программа на С ++ .Выберите три различные точки из заданного множества точек на плоскости , так чтобы была минемальная разность между
Посмотрите здесь:

C++ Из заданного на плоскости множества точек выбрать три различные точки
C++ Выбрать три разные точки заданного на плоскости множества точек, составляющие треугольник наибольшего периметра
Написать программу, определяющую радиус и центр окружности, проходящей по крайней мере через три различные точки заданного множества точек C++
C++ Из заданного на плоскости множества точек выбрать такие три, которые составляют треугольник наибольшего периметра.
рабочая программа. но нужно ее переписать так, чтобы она была наиболее общей. C++
Работа С Массивами (Выбрать три различные точки из заданного множества точек на плоскости так...) C++
Из заданного множества точек на плоскости выбрать три разные точки A, B, C C++
Из задоного множества точек на плоскости выбрать две различные точки C++
C++ Из заданного на плоскости множества точек выбрать три различные точки
Из заданного множества точек на плоскости выбрать две различные точки так C++
C++ Написать программу, определяющую радиус и центр окружности, проходящей по крайней мере через три различные точки заданного множества точек
C++ Из заданного множества точек на плоскости выбрать две различные точки

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru