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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Дебильные указатели http://www.cyberforum.ru/cpp-beginners/thread1195058.html
Здравствуйте, граждане. Я начинающий программист на AcrionScript. Но в универе учу С++ и понимаю, что нужно освоить и этот язык, чтобы считать себя полноценным программистом. Но я не могу разобраться в этим дебильных указателях. В АС3 такого нет. Вот на пример, я в классе прописал приватную переменную int b, а в конструкторе записал чтоб устанавливало b = 0 - все нормально. Прописал в...
C++ Выделение памяти. Создать шаблонный класс-матрица Я считываю с файла значения от 1 до 1000000,а потом в методе "copycolumn" копирую одну колонку из матрицы в другой массив. Программа запускается,долго выполняется и потом выдает сообщения,что там users32.dll нарушено... В чем проблема? #include "stdafx.h" #include <iostream> #include <cstring> #include <string> #include <fstream> #include <locale.h> using namespace std; #define K 1000010 http://www.cyberforum.ru/cpp-beginners/thread1195052.html
C++ Односвязным списком вывод информации
Я хочу присвоить Х = 6 и вывести список что-то ничего не получается #include <iostream> #include <conio.h> using namespace std; struct number { int x; };
Уборка мусора из double C++
Подскажите, как убрать мусор из числа типа double. Например число 13 на самом деле не 13, а 13.00000001.
C++ Ткните лицом в ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread1195016.html
В общем написал код для данного задания: "Задать два массива целых чисел с помощью датчика случайных чисел. Создать третий массив из индексов повторяющихся элементов исходных массивов (индексы первого массива). На экран вывести как исходные данные, так и результирующий массив." Собственно сам код: #include <iostream> #include <time.h>
C++ Считывание из файла С++ Программа, которая считывает текст из файла и выводит его на экран, заменив цифры от "0" до "9" словами (ноль, один два), начиная каждое предложение с новой строки. Есть код, но не работает. Что не так может кто посмотреть? #include <stdio.h> int main(void) { char c; FILE *fin=fopen("input.txt", "r"); подробнее

Показать сообщение отдельно
Kykylllka
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 12
31.05.2014, 23:42     Выявить все треугольники, не пересекающиеся с другими треугольниками этого набора
Всем привет!

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

Перелопатил весь интернет в поисках решения, ничего не нашёл, вообще ничего, все пишут про пересечение отрезков и останавливаются на этом.

Я понял, что надо подходить к решению через определение пересечения отрезков треугольника, написал алгоритм:

C++
1
2
3
4
5
float v1 = (stprov[j+1].X-stprov[i+1].X)*(stprov[i].Y-stprov[i+1].Y)-(stprov[j+1].Y-stprov[i+1].Y)*(stprov[i].X-stprov[i+1].X);
float v2 = (stprov[j+1].X-stprov[i+1].X)*(stprov[j].Y-stprov[i+1].Y)-(stprov[j+1].Y-stprov[i+1].Y)*(stprov[j].X-stprov[i+1].X);
float v3 = (stprov[j].X-stprov[i].X)*(stprov[i+1].Y-stprov[i].Y)-(stprov[j].Y-stprov[i].Y)*(stprov[i+1].X-stprov[i].X);
float v4 = (stprov[j].X-stprov[i].X)*(stprov[j+1].Y-stprov[i].Y)-(stprov[j].Y-stprov[i].Y)*(stprov[j+1].X-stprov[i].X);
if (((v1*v2)<0) && ((v3*v4)<0)) ...
Он вроде рабочий, но основная проблема состоит в том, что я не могу его реализовать для треугольника, а тем более для множества треугольников... Я перепробовал множество вариантов решения этой проблемы, но всё не то, всё не так.

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