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

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

Войти
Регистрация
Восстановить пароль
 
Oddycok
Сообщений: n/a
#1

Функция для определения прямоугольников по 4 точкам - C++

01.02.2013, 17:04. Просмотров 229. Ответов 0
Метки нет (Все метки)

Написать функцию для нахождения прямоугольников зная их вершины (прямоугольники расположены случайно - НЕ параллельно осям х, у)

Точки даны в массиве, например,
0 0
0 3
3 0
3 3

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
 for (ii=0; ii<M ;ii++ )
        {   
            x3=*(*(ss+ii)+0);
            y3=*(*(ss+ii)+1);
            
                for (jj=0; ;jj++ )
              {
              x2=*(*(ss+jj)+0);
              y2=*(*(ss+jj)+1);
 
                    for (zz=0; ;zz++ )
                 {
                  x1=*(*(ss+zz)+0);
                  y1=*(*(ss+zz)+1);
 
                         for (ff=0; ;ff++ )
                          {
                          x0=*(*(ss+ff)+0);
                                    y0=*(*(ss+ff)+1);
                               
                                
                          
 
              kk=((x2-x1)*(x0-x1)+(y2-y1)*(y0-y1));
                           ll=((x2-x3)*(x0-x3)+(y2-y3)*(y0-y3));
 
 
 
 
                           if ((kk==0)&(ll==0))
                           {
                               cout << x0<<y0<<endl<<x1<<y1<<endl<<x2<<y2<<endl<<x3<<y3<<endl;
                              
                           }
 
                           if (ff==M-1)
                               ff=0;
                          
                         }
 
                         if (zz==M-1)
                               zz=0;
                         
                    }
                    if (jj==M-1)
                               jj=0;
                    
                }
                }
Выводится очень много точек вроде
0 0
0 0
0 0
3 0
0 0
0 0
0 0
3 3
итд
Если добавить условия проверки на вырожденость (т е не одна точка не соответствует другой)
C++
1
(((x0!=x3)||(y0!=y3))&((x0!=x1)||(y0!=y1))&((x1!=x2)||(y1!=y2))&((x2!=x3)||(y2!=y3)))
То в ответе можно получить только
0 0
0 0
0 0
0 0

Так же пробовал по-другому
Например через равенство длин диагоналей и тд - результат как при проверке на вырожденость.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2013, 17:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция для определения прямоугольников по 4 точкам (C++):

Разработать функцию для определения и расчёта площади пятиугольника. По координатным точкам. (х1,у1) и т.д - C++
Даны вещественные числа х1,у1,х2,у2...х5,у5. Найти площадь пятиугольника, вершины которого имеют координаты (х1.у2) и т.д. Разработать...

Рекурсивная функция для определения палиндромов - C++
Нужно написать программу , которая с помощью рекурсивной функции определяет, является ли строка палиндромом (радар, потоп, т.е. слова...

Функция для определения знака перед числом - C++
Народ такая проблема. У меня стоит обнуление то есть если я введу 000000000000000000000000000045 то он отбросит нули и примет число 45, но...

Функция для определения текущей даты и времени - C++
Столкнулся с проблемой, есть ли функция по определении текущей даты и времени, для дальнейшего использования в программе, если да то какая?...

Функция для определения минимального элемента вектора - C++
Здраствуйте, вот такое задание, не могу никак понять как его делать:( помогите плиз :( 7. Описать функцию min(x) для определения...

Функция для определения% содержания символа в строке - C++
Функция подсчитывает %ое содержание прописных символов латинского алфавита от «а» до «z» в заданой строке содержащие англоязычный текст ,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2013, 17:04
Привет! Вот еще темы с ответами:

Intrinsic функция для определения количества единиц в блоке - C++
Есть блок, скажем типа __m256 и между всеми его байтами нужно выполнить xor. Или, что аналогично, посмотреть, четно ли количество единиц в...

Функция для определения полярных координат точки по ее прямоугольным декартовым координатам - C++
Написать и протестировать функцию для определения полярных координат точки по ее прямоугольным декартовым координатам. Зависимость полярных...

Составить блок-схему и программу определения площади прямоугольников - C++
1.Составить блок-схему и программу определения площади прямоугольников высотой 4 см с основанием, меняющимся от 3 до 6 см с шагом 2 мм.

Функция - метода класса для определения совпадения имени человека с некоторым заданным - C++
Объявите класс TMan, создающий тип – человека. Элементы – данные класса – имя, возраст человека. Предусмотрите конструкторы класса: ...


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

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

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