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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2011, 17:54   #1
Kelevra91
 
Регистрация: 16.01.2011
Сообщений: 3
По умолчанию написал программу, где то ошибка, не пойму где...

Задание:

Даны точка А(x,y) и вершины треугольника p1(x1,y1), p2(x2,y2) и p3(x3,y3).Определить принадлежит ли точка внутренней области треугольника.

Решение:

Код:
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
float x,y,x1,x2,x3,y1,y2,y3,s,s1,s2,s3;
cout<<"vvedite koordinaty treugolnika"<<endl;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
cout<<"vvedite koordinaty tochki"<<endl;
cin>>x2>>y2;
if (x1==x2 && x3==x1 && y1==y2 && y2==y3)
cout<<"nevernye koordinaty treugolnika"<<endl;
else
{s=1./2*abs((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1));
s1=1./2*abs((x2-x1)*(y-y1)-(x-x1)*(y2-y1));
s2=1./2*abs((x-x1)*(y3-y1)-(x3-x1)*(y-y1));
s3=1./2*abs((x2-x)*(y3-y)-(x3-x)*(y2-y));
if (s1+s2+s3==s)
cout<<"tochka v treugolnike"<<endl;
else cout<<"vne treugolnika"<<endl;
}
}
вот составил программу, но где то ошибка и я не пойму где.. мне все время выдает ответ "Вне треугольника" даже при координатах которые входят в него.. помогите пожалуйста

Последний раз редактировалось AlDelta; 16.01.2011 в 18:08.
Kelevra91 вне форума Ответить с цитированием
Старый 16.01.2011, 17:59   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

cout<<"vvedite koordinaty treugolnika"<<endl;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
cout<<"vvedite koordinaty tochki"<<endl;
cin>>x2>>y2;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 16.01.2011, 18:12   #3
Kelevra91
 
Регистрация: 16.01.2011
Сообщений: 3
По умолчанию

я не понял) что же нужно заменить чтобы заработала???

нужно вместо:
cin>>x2>>y2;
поставить:
cin>>x1>>y1>>x2>>y2>>x3>>y3;

так? или что???)

Последний раз редактировалось Stilet; 16.01.2011 в 18:48.
Kelevra91 вне форума Ответить с цитированием
Старый 16.01.2011, 18:35   #4
Vard
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 21
По умолчанию

ты сначала в х2 и у2 вводишь координаты второй точки треугольника, а потом тут же затираешь их координатами точки, положение которой отсносительно треугольника нужно вычислить
Vard вне форума Ответить с цитированием
Старый 17.01.2011, 12:21   #5
Kelevra91
 
Регистрация: 16.01.2011
Сообщений: 3
По умолчанию

блина я чет не пойму, я только начал заниматься на С)
кто может объяснить подробно где ошибка? и как её исправить???
Kelevra91 вне форума Ответить с цитированием
Старый 17.01.2011, 16:38   #6
ruPy
Пользователь
 
Аватар для ruPy
 
Регистрация: 13.12.2007
Сообщений: 11
По умолчанию

Ты записываешь координаты треугольника в х2 у2, через строчку ты записываешь координаты точки в уже занятые переменные х2, у2 т.е. затираешь координаты треугольника. Возьми вместо х2 у2 (координаты точки ) другие буквы и не забудь их в коде ниже поменять!!!
В каждом нашем действии есть смысл...Но иногда его трудно найти.
ruPy вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не пойму где ошибка.. Den9I Microsoft Office Excel 17 02.12.2010 01:53
Двухмерный массив. Не пойму где ошибка TYMON Общие вопросы C/C++ 3 20.06.2010 00:30
Не пойму где ошибка Айдар Работа с сетью в Delphi 1 17.04.2010 18:20
не пойму где ошибка C-Jay Общие вопросы C/C++ 1 03.01.2010 01:45
idSMTP не пойму где ошибка JRcoker Работа с сетью в Delphi 5 07.10.2008 14:10