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

Посмотрите правильно или нет. - C++

Восстановить пароль Регистрация
 
Spark3r
8 / 8 / 0
Регистрация: 12.01.2010
Сообщений: 32
15.01.2010, 12:20     Посмотрите правильно или нет. #1
Четырехугольник ABCD задан координатами своих вершин на плоскости: A(Xa,Ya),B(Xb,Yb),C(Xc,Yc) , D(Xd,Yd).Проверить являетса ли он выпуклым.

Замечания: Есть несколько способов проверки выпуклости: анализ линейных неравенств,задаваемых сторонами;разбиения четырехугольника на треугольники со сравнением сумм их площадей и другие.

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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
float dlina(float x1, float y1, float x2, float y2)
{
    float d=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
    return d;
}
 
main ()
{
     float x1,x2,x3,x4,y1,y2,y3,y4;
     float d1,d2,d3,d4,d5,d6;
     float S1,S2,S3,S4;
     float p,p1,p2,p3,p4;
     printf ("Vvedite tohki \n");
     scanf ("%f%f%f%f%f%f%f%f",&x1,&y1,&x2,&y2,&x3,&y3,&x4,&y4);
     d1=dlina(x1,y1,x2,y2);
     d2=dlina(x2,y2,x3,y3);
     d3=dlina(x1,y1,x3,y3);
     d4=dlina(x1,y1,x4,y4);
     d5=dlina(x2,y2,x4,y4);
     d6=dlina(x3,y3,x4,y4);
     p1=(d1+d2+d3)/2;
     p2=(d4+d3+d6)/2;
     p3=(d1+d5+d4)/2;
     p4=(d2+d5+d6)/2;
     S1=sqrt(p*(p-d1)*(p-d2)*(p-d3));
     S2=sqrt(p*(p-d4)*(p-d3)*(p-d6));
     S3=sqrt(p*(p-d1)*(p-d5)*(p-d4));
     S4=sqrt(p*(p-d2)*(p-d5)*(p-d6));
     if(S1=S2=S3=S4)
     printf("Tak, vin vupyklui");
     else
     printf("Ni, vin ne vupyklui");
     
     
     getch ();
}
Посмотрите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2010, 12:20     Посмотрите правильно или нет.
Посмотрите здесь:

Цикл: правильно или нет? C++
Посмотрите работает или нет. C++
Правильно ли я понимаю ссылки и указатели. Работу с ними. Я сам прокомментировал код. Скажите правильно или нет. C++
C++ Операции с числами(правильно или нет)
Подскажите правильно, или нет. Ввести с клавиатуры вещественную матрицу размерностью 5х5, определить C++
C++ Выдает ошибку но вроде все правильно посмотрите!
Проверить, правильно ли в текст входят круглые скобки. Ответ ДА или НЕТ с++ C++
Написал программу, не могу понять правильно или нет C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=DOC=-
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 7
15.01.2010, 17:24     Посмотрите правильно или нет. #2
Вот добавь функцию для опчисления площади
C++
1
2
3
4
5
float plosha(float d1,float d2,float d3)
{
      float p=(d1+d2+d3)/2;
      return sqrt(p*(p-d1)*(p-d2)*(p-d3));
}
а то без неё не подсчитает S!!!)))))
Spark3r
8 / 8 / 0
Регистрация: 12.01.2010
Сообщений: 32
15.01.2010, 17:27  [ТС]     Посмотрите правильно или нет. #3
спасибо
Yandex
Объявления
15.01.2010, 17:27     Посмотрите правильно или нет.
Ответ Создать тему
Опции темы

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