Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
shaverma
1 / 1 / 0
Регистрация: 05.12.2016
Сообщений: 49
#1

Выяснить, лежат ли отрезки прямых на попарно перпендикулярных прямых - C++

19.12.2016, 17:59. Просмотров 153. Ответов 2
Метки нет (Все метки)

Все геометрические фигуры заданы на плоскости. Предусмотрите ввод исходных данных с клавиатуры. Даны координаты концов четырех отрезков. Выяснить, лежат ли все или некоторые из этих отрезков на попарно перпендикулярных прямых. Указать все такие отрезки.
Помогите, пожалуйста, понятия не имею, как справиться с этой программой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2016, 17:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выяснить, лежат ли отрезки прямых на попарно перпендикулярных прямых (C++):

Проверить отрезки прямых на пересечение - C++
Мне нужно сделать програму которая будет проверять пересекаются отрезки и если пересекаются то где? НО я не знаю формулу как это...

На плоскости задано множество прямых. Найти количество пересечений этих прямых - C++
На плоскости задано множество прямых. Найти количество пересечений этих прямых плиз помогиите с решением!!

Лежат ли все или некоторые из заданных отрезков на пересекающихся прямых? - C++
Даны координаты концов четырех отрезков. Выяснить, лежат ли все или некоторые из этих отрезков на пересекающихся прямых. Указать все...

Выяснить взаимное расположение прямых на плоскости - C++
Выяснить взаимное расположение прямых А1*х+В1*у=С1 и А*х+В*у=С. Если прямые пересекаются, напечатать точки пересечения. (помогите ребят,...

Выяснить, какие из прямых параллельны, а какие - нет - C++
Помогите пожалуйста с программой в dev c++. Условие: Даны уравнения прямых а1х+b1y=c1, a2x+b2y=c2, a3x+b3y=c3. Выяснить, какие из этих...

пересечение прямых! - C++
как реализовать алгоритм пересечения прямых на с++ ничего не приходит в голову, кроме сравнивая координат по разные стороны. и то как это...

2
afront
994 / 940 / 349
Регистрация: 29.02.2016
Сообщений: 3,054
19.12.2016, 19:14 #2
Координаты точки пересечения двух отрезков
0
shaverma
1 / 1 / 0
Регистрация: 05.12.2016
Сообщений: 49
20.12.2016, 18:55  [ТС] #3
Все равно не очень понятно, к тому же в задании нужно указать отрезки, лажащие на попарно перпендикулярных прямых

Добавлено через 7 часов 12 минут
Вот пример программы, где проверяется, являются ли отрезки четырехугольником, если да, то каким
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
41
42
43
44
45
46
47
48
49
#include "stdafx.h" 
#include <iostream> 
#include <math.h> 
using namespace std; 
int main() 
{ 
int k,i,q; 
float mas[8][2]; 
 
setlocale (LC_ALL, "rus_rus.1251"); 
 
 
cout<<"Введите последовательно координаты х и у концов отрезков, начиная с отрезка с самой маленькой координатой х и двигаясь по часовой стрелке"<<endl; 
for(k=0;k<=7;k++) 
{ 
cout <<"Введите координату х"<<endl; 
cin >> mas[k][0]; 
cout <<"Введите координату y"<<endl; 
cin >> mas[k][1]; 
 
} 
 
for(i=0;i<2;i++) 
{ 
if (!((mas[1][i]==mas[2][i])&&(mas[3][i]==mas[4][i])&&(mas[5][i]==mas[6][i])&&(mas[7][i]==mas[0][i]))) 
{ 
cout<<"Данные отрезки не образуют четырехугольник"<<endl; 
q=0; 
i=2; 
} 
else q=1; 
} 
 
if (q=1) 
{ 
if ( (sqrt( (mas[0][0]-mas[1][0])*(mas[0][0]-mas[1][0])+(mas[0][1]-mas[1][1])*(mas[0][1]-mas[1][1]))==sqrt( (mas[3][0]-mas[6][0])*(mas[3][0]-mas[6][0])+(mas[3][1]-mas[6][1])*(mas[3][1]-mas[6][1]))) 
&&((sqrt (mas[1][0]-mas[3][0])*(mas[1][0]-mas[3][0])+(mas[1][1]-mas[3][1])*(mas[1][1]-mas[3][1]))==sqrt((mas[6][0]-mas[0][0])*(mas[6][0]-mas[0][0])+(mas[6][1]-mas[0][1])*(mas[6][1]-mas[0][1]))) ) 
{ 
cout<<"Данный четырехугольник является параллелограммом"<<endl; 
if ( (sqrt( (mas[0][0]-mas[3][0])*(mas[0][0]-mas[3][0])+(mas[0][1]-mas[3][1])*(mas[0][1]-mas[3][1]))==sqrt( (mas[1][0]-mas[6][0])*(mas[1][0]-mas[6][0])+(mas[1][1]-mas[6][1])*(mas[1][1]-mas[6][1]))) ) 
cout<<"Данный параллелограмм является прямоугольником"<<endl; 
 
} 
 
else cout<<"Данный четырехугольник имеет общий вид"<<endl; 
} 
system("pause");
return 0; 
}
Добавлено через 13 часов 35 минут
Я вроде бы написала, но она все равно неправильно работает. Помогите, пожалуйста, найти ошибки.
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
#include <iostream>
#include "stdafx.h"
#define N 4
using namespace std;
void main()
{
    setlocale (LC_ALL, "Russian");
    float tempArr[2*N][2];
    cout << "Введите последовательно координаты х и у концов отрезков, начиная с отрезка с самой маленькой координатой х и двигаясь по часовой стрелке" << endl; 
    for (int i = 0; i < 2 * N; i++)
        cin >> tempArr[i][0] >> tempArr[i][1];
    float array[N][2];
    for (int i = 0; i < N; i++)
    {
        array[i][0] = tempArr[2*i + 1][0] - tempArr[2 * i][0];
        array[i][1] = tempArr[2*i + 1][1] - tempArr[2 * i][1];
    }
         for (int i = 0; i < N; i++)
        for (int k = 0; k < N; k++)
        {
            cout << "Векторы {" << array[i][0] << ";" << array[i][1] << "} и {" << array[k][0] << ";" << array[k][1] << "}: ";
              if ((i != k) && ((int)array[i][0]*array[k][0]+array[i][1]*array[k][1]==0)) 
           cout<<"Данные отрезки не лежат на попарно перпендикулярных прямых"<<endl;
           else  
           cout<<"Данные отрезки лежат на попарно перпендикулярных прямых"<<endl; 
        } 
system("pause");
 }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2016, 18:55
Привет! Вот еще темы с ответами:

Пересечение прямых - C++
Не могу сделать так,чтобы находил пересечения двух прямых(n штук) и выводил координаты пересечении. Вот что вышло. #include &quot;stdafx.h&quot; ...

Разместить на побочной диагонали матрицы суммы элементов, которые лежат на диагоналях, перпендикулярных к побочной. - C++
суть задачи : Заполнить матрицу случайными числами. Разместить на побочной диагонали суммы элементов, которые лежат на диагоналях,...

Взаимное расположение прямых - C++
Люди.ПЛЗ помогите::wall::help: Даны вещественные числа A1, B1, C1, А, В, С. Выяснить взаимное расположение прямых A1*x+B1*y=C1 и...

преобразование прямых линий - C++
Прошу помочь составить программу по теме: &quot;Преобразование прямых линий&quot;. Само задание: Множество прямых М задано коэффициентами их...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru