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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
n1kron
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 20
#1

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

17.12.2010, 14:56. Просмотров 2279. Ответов 1
Метки нет (Все метки)

Задание, как множество точек вывести на экран понял.
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
#include <iostream>
#include <time.h>
#define _CRT_SECURE_NO_DEPRECATE 0
using namespace std;
int _tmain()
    
{
    setlocale(LC_ALL,"Russian");
int* A; 
int razmer;
printf( "Введите количество множества точек:") ;
    scanf("%d", &razmer);
A=new int[razmer];
        char ch;
        do{
            printf("Задать Элементы множества случайно?(y/n)");
            ch=getch();printf("%c\n", ch);
        }while ((ch!='y')&&(ch!='n'));
 
        if(ch=='y')
            {srand ((int)time(NULL));        
        for (int i=0; i < razmer; ++i)
                A[i]=rand()%30-20;
        for (int i=0; i < razmer; ++i)
                cout<<" "<<A[i];
        }
        else
        {   int i;  
            cout<<"Введите элементы множества: "<< endl;
    for(i=0; i<razmer; i++)
        {
                cout<<"["<<i<<"]= ";
                cin>>A[i]; 
        }
        cout<<"исходное множество"<<endl;
    for(i=0; i<razmer; i++)
                cout<<A[i]<<" ";
        cout<<endl;
        } 
 
delete[] A;
    getch();
return 0;
}
Но как можно, заставить его перебрать все точки для получения максимальных отрезков => максимального периметра?

Добавлено через 4 часа 54 минуты
Немного модифицировал, но всё-равно нужна помощь...Надо найти в массиве точки, максимально увеличивающие периметр, обращаясь к AreaPolygon...Как это можно расписать???

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
#include "stdafx.h"
#include <stdio.h>
#include<math.h>
#include<conio.h>
#include <iostream>
#include <time.h>
#define _CRT_SECURE_NO_DEPRECATE 0
using namespace std;
double AreaPolygon(int X1, int Y1, int X2, int Y2,int X3, int Y3);
    { 
        double P=0;
            
        P += sqrt((X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1));
        P += sqrt((X3-X2)*(X3-X2)+(Y3-Y2)*(Y3-Y2));
        P += sqrt((X1-X3)*(X1-X3)+(Y1-Y3)*(Y1-Y3));
            
            
      return abs (P/2);
}
 
 
    int _tmain()
   {
       setlocale(LC_ALL,"Russian");
int* A, n; 
int razmer;
printf( "Введите количество множества точек:") ;
    scanf("%d", &razmer);
A=new int[razmer];
        char ch;
        do{
            printf("Задать Элементы множества случайно?(y/n)");
            ch=getch();printf("%c\n", ch);
        }while ((ch!='y')&&(ch!='n'));
 
        if(ch=='y')
            {srand ((int)time(NULL));        
        for (int i=0; i < razmer; ++i)
                A[i]=rand()%30-20;
        for (int i=0; i < razmer; ++i)
                cout<<" "<<A[i];
        }
        else
        {   int i;  
            cout<<"Введите элементы множества: "<< endl;
    for(i=0; i<razmer; i++)
        {
                cout<<"["<<i<<"]= ";
                cin>>A[i]; 
        }
        cout<<"исходное множество"<<endl;
    for(i=0; i<razmer; i++)
                cout<<A[i]<<" ";
        cout<<endl;
        } 
        
            int P, PMax=0;
            for(int i=0; i<n;i++)
            {
                for(int i=0; i<n;i++)
                {
                    for(int i=0; i<n;i++)
                    {
                        P = AreaPolygon();
 
                    }
                }
            }
            
        
          delete[] A;
    getch();
return 0;
}
Добавлено через 17 часов 56 минут
Ап, всё еще need help=(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 14:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выбрать три разные точки заданного на плоскости множества точек, составляющие треугольник наибольшего периметра (C++):

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

Из заданного на плоскости множества точек выбрать такие три, которые составляют треугольник наибольшего периметра. - C++
Помогите ребят!!!!препод задачи задачи для аттестации,сделал фактически все,кроме этой: &quot;Из заданного на плоскости множества точек...

Из заданного множества точек на плоскости выбрать три разные точки A, B, C - C++
Из заданного множества точек на плоскости выбрать три разные точки A, B, C, так, чтобы внутри треугольника ABC содержалось максимальное...

Из заданного на плоскости множества точек выбрать три различные точки - C++
Само задание звучит так: &quot;Из заданного на плоскости множества точек выбрать три различные точки так, чтобы разность между площадью...

Из заданного на плоскости множества точек выбрать три различные точки - C++
Здравствуйте, помогите пожалуйста написать программу: Из заданного на плоскости множества точек выбрать три различные точки так, чтобы...

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

1
n1kron
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 20
18.12.2010, 16:20  [ТС] #2
Блин, уже начинаю гореть=) Кто уже поможет за вознаграждение? Всю голову уже сломал...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2010, 16:20
Привет! Вот еще темы с ответами:

Работа С Массивами (Выбрать три различные точки из заданного множества точек на плоскости так...) - C++
Задание: Выбрать три различные точки из заданного множества точек на плоскости так, чтобы была минимальной разность между количествами...

Из заданного множества точек на плоскости выбрать две различные точки - C++
Из заданного множества точек на плоскости выбрать две различные точки так, что бы количества точек, лежащих по разные стороны прямой,...

Из заданного множества точек на плоскости выбрать две различные точки так - C++
Из заданного множества точек на плоскости выбрать две различные точки так, чтобы количество точек, лежащих по разные стороны от прямой,...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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