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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Решение задачи о ранец http://www.cyberforum.ru/cpp-beginners/thread776897.html
У меня курсовой на тему : Решение задачи о ранец, нужна программа на С++. Возможно кто знает где можно скачать? Либо кто бы мог помочь в решение. Заранее Спасибо
C++ Простенький алгоритм выхода из лабиринта Нужна помощь в создании алгоритма, вот его суть: Человек попал в лабиринт и что бы выбраться из него, ему надо выбрать правильное направление. Перед ним постоянно возникают разветления из 4 коридоров. Если он выберет неправильный коридор, он навсегда останется в лабиринте. Но вот проблема, что бы узнать какой коридор правильный, ему нужно будет построить определенный алгоритм. Основные... http://www.cyberforum.ru/cpp-beginners/thread776877.html
C++ запись в файл
здарова братва,есть код,как мне сделать что бы в файл записывались имена что я ввожу и имя с макс зп. #include<iostream.h> #include <fstream.h> #define N 10 struct Worker{ char name; int salary; };
C++ Игра "Цифры рядом"
Привет, кто-нибудь может помочь Программа загадывает целое четырехзначное положительное число. Игрок должен отгадать число. Он называет две цифры и получает один из 3-х ответов: 1)есть, если совпала одна или обе цифры с цифрами задуманного числа; 2)есть рядом, если совпали обе цифры, причем в числе они стоят рядом в любом порядке, 3)нет - в противных случаях. Например: исходное число 1277. ...
C++ Размер файла http://www.cyberforum.ru/cpp-beginners/thread776859.html
Добрый день , нужно получить размер файла мой код пишет что-то не внятное значение 1787408944 #include <sys/stat.h> #include <iostream> using namespace std; int main(){
C++ передать целый массив в качестве входных параметров для функции main()? Было рабочее оконное приложение Qt, теперь всю реализацию "впихнуть" в консольное приложение C++(( Смысл: пользователь вводит строки, которые преобразуются в 2 массива (UINT8** m, UINT8** sh). Массивы являются входными данными пользовательской функции (LONG Recover( DWORD t, DWORD n, UINT8** m, UINT8** sh, UINT8* s). Теперь всё это сделать одним вызовом консольного приложения. Проблема в... подробнее

Показать сообщение отдельно
Oddycok
Сообщений: n/a
01.02.2013, 17:04     Функция для определения прямоугольников по 4 точкам
Написать функцию для нахождения прямоугольников зная их вершины (прямоугольники расположены случайно - НЕ параллельно осям х, у)

Точки даны в массиве, например,
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

Так же пробовал по-другому
Например через равенство длин диагоналей и тд - результат как при проверке на вырожденость.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru