Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2010, 03:14   #1
tir0
Новичок
Джуниор
 
Аватар для tir0
 
Регистрация: 17.05.2010
Сообщений: 3
По умолчанию Одна фигура в другой. Как проверить это (С++)

Господа, будьте добры, обьясните на пальцах как в С++ (DOS MODE ) проверить, пересекаются ли треугольники (включены ли они один в другого). Треугольники заданы координатами их вершин. Что из кода нужно - предоставлю.
tir0 вне форума Ответить с цитированием
Старый 17.05.2010, 06:00   #2
Alex_sim
Форумчанин
 
Аватар для Alex_sim
 
Регистрация: 18.02.2010
Сообщений: 164
По умолчанию Хороший пример к твоей задачи

\\пример местоположение заданой точки на оси координат
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <locale.h>

const char *s[] = {
	"на оси OY",
	"на оси OX",
	"в III квадранте",
	"в II квадранте",
	"в IV квадранте",
	"в I квадранте"
};

int main() {
	setlocale(LC_ALL, "Russian");
	float x, y;
	while( true ) {
		do {
			fflush( stdin );
			printf("Введите x и y: ");
		}
		while( scanf_s("%f%f", &x, &y)!= 2);
		
		int k;
		if( x==0 )
			if( y==0 )
				break;
			else
				k = 0;
		else
			if( y==0 )
				k = 1;
			else
				if( x<0 )
					if( y<0 )
						k = 2;
					else
						k = 3;
				else
					if( y<0 )
						k = 4;
					else
						k = 5;
		printf(
			"Точка (%g; %g) находится %s.\n\n"
			"Повтор. Для выхода из программы введите нули.\n",
			x, y, s[k] );
	}
	printf("\nДо свидания!\n");
}
\\у тебя похожая задача нужно только грамотно условия сделать для определения пересекаются треугольники или нет...
Alex_sim вне форума Ответить с цитированием
Старый 17.05.2010, 09:16   #3
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Точка находится в треугольнике, если площадь исходного треугольника равна сумме площадей треугольников, образованных каждой из сторон треугольника и "проблемной" точкой. Всё!
ABC - треугольник, D - точка
SABC = SABD + SACD + SBCD.
Задача решается комбинацией трёх функций.
1. Сравнение площадей.
2. Нахождение площади по трём сторонам по формуле Герона.
3. Нахождение длины отрезка по двум точкам.
Функции приведены в последовательности, выводимой из логического рассуждения

Взято отсюда:
http://forum.vingrad.ru/forum/s/976c...ic-216871.html

Там есть и готовый код.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Старый 17.05.2010, 14:53   #4
tir0
Новичок
Джуниор
 
Аватар для tir0
 
Регистрация: 17.05.2010
Сообщений: 3
По умолчанию

Алeкс, Вы нeмного нe тaк мeня поняли, проблeмa зaключaлaсь в другом, но большоe спaсибо в любом случae.
Z1000000, Вaм Огромноe спaсибо, блaгодaря Вaм зaдaчa рeшeнa!
tir0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что это такое и как это того... Alex Cones Общие вопросы Delphi 2 11.10.2009 12:04
Конфликт ip-адреса с другой системой в сети. Что это? spamer Свободное общение 4 04.10.2009 09:53
php одна в другой Форсировка PHP 5 07.08.2009 15:47
Фигура не поворачивает на клавишах! heavenly Мультимедиа в Delphi 8 10.11.2008 21:01
Как написать,чтобы одна таблица заполнялась на основании другой при определенных условиях Alexm77 Microsoft Office Excel 21 26.05.2008 23:35