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

Ошибка в коде - C++

Восстановить пароль Регистрация
 
programe
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 10
20.11.2012, 09:49     Ошибка в коде #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
using namespace std;
 
ifstream fin ("input.txt"); ofstream fout ("output.txt");
 
int x,y,x1,y1,x2,y2,x3,y3,p1,p2,p3;
int main()
 
{
    fin>>x>>y;
    fin>>x1>>y1;
    fin>>x2>>y2;
    fin>>x3>>y3;
     p1=(x1-x)*(y2-y1)-(x2-x1)*(y1-y);
     p2=(x2-x)*(y3-y2)-(x3-x2)*(y2-y);
     p3=(x3-x)*(y1-y3)-(x1-x3)*(y3-y);
 
     if (((p1<=0)&&(p2<=0)&&(p3<=0)) || ((p1>=0)&&(p2>=0)&&(p3>=0)))
         fout << "0";
     else 
         fout << "1";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2012, 09:49     Ошибка в коде
Посмотрите здесь:

ОШибка в коде. C++
Ошибка в коде C++
Ошибка в коде C++
Ошибка в коде C++
Ошибка в коде C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
20.11.2012, 10:07     Ошибка в коде #2
Подправил
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
#include <fstream>
using namespace std;
int main() 
{
 
ifstream fin ("input.txt"); ofstream fout ("output.txt");
 
int x,y,x1,y1,x2,y2,x3,y3,p1,p2,p3;
 
 
 
    fin>>x>>y;
    fin>>x1>>y1;
    fin>>x2>>y2;
    fin>>x3>>y3;
     p1=(x1-x)*(y2-y1)-(x2-x1)*(y1-y);
     p2=(x2-x)*(y3-y2)-(x3-x2)*(y2-y);
     p3=(x3-x)*(y1-y3)-(x1-x3)*(y3-y);
 
     if (((p1<=0)&&(p2<=0)&&(p3<=0)) || ((p1>=0)&&(p2>=0)&&(p3>=0)))
         fout << "0";
     else 
         fout << "1";
}
programe
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 10
20.11.2012, 10:53  [ТС]     Ошибка в коде #3
спасибо огромное
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
20.11.2012, 11:00     Ошибка в коде #4
Цитата Сообщение от programe Посмотреть сообщение
спасибо огромное
Да не за что, ты бы выложил условие задачи, а то у тебя решение какое-то странное.
programe
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 10
20.11.2012, 18:49  [ТС]     Ошибка в коде #5
даны координаты точки(х и у) а так же
Даны координаты 3 точек- вершины треугольника (х1,у1,х2,у2,х3,у3).
надо определить , лежит эта точка в этом треугольнике или нет.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
20.11.2012, 19:22     Ошибка в коде #6
programe вы конечно извините, но ваш код неверный.
ifstream fin ("input.txt"); ofstream fout ("output.txt"); - это зачем здесь?
Надо использовать cout, cin.

Добавлено через 19 минут
Можно сделать так
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
#include <iostream> 
 
int main() 
{   
    setlocale(0, "rus");
    int x, y; 
    int x1, y1, x2, y2, x3, y3; 
    int p1, p2, p3;
    std::cout << "Введите координаты точки ( x, y ) " << std::endl;
    std::cin >> x >> y; 
 
    std::cout << "Введите координаты вершин треугольника ( x1, y1, x2, y2, x3, y3 )" << std::endl;
    std::cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;  
 
    p1 = (x1 - x) * (y2 - y1) * ( y1 - y); 
    p2 = (x2 - x) * (y3 - y2) * (y2 - y); 
    p3 = (x3 - x) * (y1 - y3) * (y3 - y); 
 
    if( p1 > 0 && p2 > 0 && p3 > 0 || p1 < 0 && p2 < 0 && p3 < 0) 
        std::cout << "Точка внутри треугольника " << std::endl; 
    if( p1 == 0 || p2 == 0 || p3 == 0) 
        std::cout << "точки лежит на стороне треугольника " << std::endl; 
    else
        std::cout << "точка лежит вне треугольника " << std::endl;
}
По решению, есть так же вариант при котором точка лежит на стороне треугольника.
programe
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 10
21.11.2012, 18:37  [ТС]     Ошибка в коде #7
у меня заработал Ваш вариант, спасибо. Может быть, это я неправильно высказала Вам суть задачи
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
21.11.2012, 18:41     Ошибка в коде #8
Цитата Сообщение от programe Посмотреть сообщение
у меня заработал Ваш вариант, спасибо. Может быть, это я неправильно высказала Вам суть задачи
Нет суть задачи я понял, просто ваше решение не совсем корректно было как с математической стороны, так и код был оформлен неверно.
programe
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 10
21.11.2012, 18:47  [ТС]     Ошибка в коде #9
насчет кода согласна
Daulet97
0 / 0 / 0
Регистрация: 10.10.2012
Сообщений: 11
21.11.2012, 18:54     Ошибка в коде #10
David Sylva можете помочь решить 3 задачи на Паскаль
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 19:04     Ошибка в коде
Еще ссылки по теме:

C++ ошибка в коде ?
C++ Ошибка в коде
C++ Ошибка в коде

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

Или воспользуйтесь поиском по форуму:
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
21.11.2012, 19:04     Ошибка в коде #11
Цитата Сообщение от Daulet97 Посмотреть сообщение
David Sylva можете помочь решить 3 задачи на Паскаль
Во первых вы пишите в чужой теме, во вторых это раздел С++.
Yandex
Объявления
21.11.2012, 19:04     Ошибка в коде
Ответ Создать тему
Опции темы

Текущее время: 13:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru