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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 5.00
W0ks
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 75
#1

Определить будут ли заданные три точки расположены на одной прямой - C++

21.02.2012, 20:30. Просмотров 3216. Ответов 8
Метки нет (Все метки)

1) f(x){0; если x<=1
x+6 В противном случае
2)Даны действительные числа x и y, не равные друг другу. Меньшее из этих чисел заменить их полусуммой, а большее – их удвоенным произведением.
3)Даны три точки А(x1, y1), В(x2, y2), С(x3, y3). Определить будут ли они расположены на одной прямой. Если нет, то вычислить угол АВС.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 20:30     Определить будут ли заданные три точки расположены на одной прямой
Посмотрите здесь:
Определить, будут ли точки расположены на одной прямой C++
C++ Определить расположены ли точки на одной прямой
Определить лежат ли три точки на одной прямой C++
Три точки заданы координатами. Определить, лежат ли они на одной прямой C++
C++ Определить, лежат ли три точки A, B, C на одной прямой. Если нет, найти угол ABC
На оси ОХ расположены три точки a, b, c. Определить какая из точек b, c расположена ближе к а. C++
C++ Выбрать такие три точки из множества, не лежащие на одной прямой, которые составляют треугольник min площади
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
W0ks
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 75
28.02.2012, 20:19  [ТС]     Определить будут ли заданные три точки расположены на одной прямой #2
Поможет кто? опять же я тут первое сделал второе недоделал с по примеру друга но все равно ошибки третье вобще идей нет:\
Байт
Эксперт C
15842 / 10169 / 1522
Регистрация: 24.12.2010
Сообщений: 19,177
28.02.2012, 20:40     Определить будут ли заданные три точки расположены на одной прямой #3
Цитата Сообщение от W0ks Посмотреть сообщение
Поможет кто? опять же я тут первое сделал второе
недоделал
с по примеру друга но все равно ошибки третье вобще идей нет:\
По правилам полагается показать свою работу, даже если она неудачна.
Идея третьей - вспомни про скалярные произведения и косинусы
W0ks
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 75
28.02.2012, 20:42  [ТС]     Определить будут ли заданные три точки расположены на одной прямой #4
Завтра тогда на компе найду другом покажу чо сделал

Добавлено через 26 секунд
Тут задания просто по 8строк думал не составит труда.
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
28.02.2012, 21:57     Определить будут ли заданные три точки расположены на одной прямой #5
Цитата Сообщение от W0ks Посмотреть сообщение
3)Даны три точки А(x1, y1), В(x2, y2), С(x3, y3). Определить будут ли они расположены на одной прямой. Если нет, то вычислить угол АВС.
Ищи по форуму была уже такая задача.

edit:
Вот Точки на плоскости.
осталось подогнать под свою
Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
28.02.2012, 23:13     Определить будут ли заданные три точки расположены на одной прямой #6
Третья задача мне стала интересна, вот мое решение:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>
#include <cmath>
using namespace std;
 
// количество точек
#define CNT 3
 
// структура для удобства хранения координат точки
struct point_t {
    int x;
    int y;
};
 
// проверка на принадлежность трех точек одной прямой
bool is_straight_line( point_t[ CNT ] );
// вычисление длин линий треугольника
double* calc_length_lines( point_t[ CNT ] );
// вычисление угла ABC
double calc_angle_abc( double* );
 
int main() {
    struct point_t array_points[ CNT ];
    unsigned i = 0;
 
    while ( i < CNT ) {
        cout << "Введите x и y для точки # " << i + 1 << endl;
        cin >> array_points[ i ].x >> array_points[ i ].y;
        ++i;
    }
 
    if ( is_straight_line( array_points ) )
        cout << "Данные три точки лежат на одной прямой" << endl;
    else {
        cout << "Данные три точки НЕ лежат на одной прямой" << endl;
        double *array_length = calc_length_lines( array_points );
        cout << "Угол ABC в градусах = " << calc_angle_abc( array_length ) << endl;
 
        delete[] array_length;
    }
 
    return 0;
}
 
// проверяем равенство ( x1 - x3 ) * ( y2 - y3 ) - ( x2 - x3 ) * ( y1 - y3 ) == 0
bool is_straight_line( point_t array[ CNT ] ) {
    return ( ( array[ 0 ].x - array[ 2 ].x ) * ( array[ 1 ].y - array[ 2 ].y )
            - ( array[ 1 ].x - array[ 2 ].x ) * ( array[ 0 ].y - array[ 2 ].y ) )
            == 0;
 
}
// определяем длины сторон треугольника по формуле
// length = sqrt( ( x1 - x2 )^2 + ( y1 - y2 )^2 )
double* calc_length_lines( point_t array[ CNT ] ) {
    double* array_result = new double[ CNT ];
 
    for ( unsigned i = 0; i < CNT; ++i ) {
 
        unsigned j;
        if ( i == CNT - 1 )
            j = 0;
        else
            j = i + 1;
 
        array_result[ i ] = sqrt( pow( array[ i ].x - array[ j ].x, 2.0 )
                + pow( array[ i ].y - array[ j ].y, 2.0 ) );
    }
    return array_result;
}
 
// тут мы используем теорему косинусов
// b^2 = a^2 + c^2 - 2  * a * c * cos( betta )
// cos( betta ) = ( a^2 + c^2 - b^2 ) / 2 * a * c
double calc_angle_abc( double* array ) {
    double temp = ( array[ 1 ] * array[ 1 ] ) + ( array[ 0 ] * array[ 0 ] )
            - ( array[ 2 ] * array[ 2 ] );
    return acos( temp / ( 2 * array[ 1 ] * array[ 0 ] ) ) * 180.0 / M_PI;
}
Консоль
Введите x и y для точки # 1
-2 -2
Введите x и y для точки # 2
3 3
Введите x и y для точки # 3
-5 -5
Данные три точки лежат на одной прямой


Еще консоль
Введите x и y для точки # 1
0 0
Введите x и y для точки # 2
-5 -5
Введите x и y для точки # 3
3 4
Данные три точки НЕ лежат на одной прямой
Угол ABC в градусах = 3.36646
Kateryna1111
1 / 1 / 0
Регистрация: 10.07.2015
Сообщений: 52
19.07.2015, 13:14     Определить будут ли заданные три точки расположены на одной прямой #7
Даны три точки A(x1,y1), B(x2,y2) и C(x3,y3). Определить, будут ли они расположены на одной прямой. Если нет, то вычислить угол  ABC.
Пожалуйста в Делфи, кто может?Срочно-срочно
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,080
Записей в блоге: 3
Завершенные тесты: 1
19.07.2015, 13:16     Определить будут ли заданные три точки расположены на одной прямой #8
Пожалуйста в Делфи
Это очень весомая причина, чтобы поднять тему трехлетней давности в разделе C++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2015, 13:38     Определить будут ли заданные три точки расположены на одной прямой
Еще ссылки по теме:
Определить, лежат ли точки на одной прямой C++
C++ Определить минимальное подмножество точек, после удаления которых останутся точки лежащие на одной прямой
C++ На числовой оси расположены три точки
C++ Написать программу, определяющую наклон прямой, проходящей через две заданные точки
Найдите центр и радиус окружности, проходящей через три заданные точки на плоскости. C++

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

Или воспользуйтесь поиском по форуму:
Kateryna1111
1 / 1 / 0
Регистрация: 10.07.2015
Сообщений: 52
19.07.2015, 13:38     Определить будут ли заданные три точки расположены на одной прямой #9
пожаалуйтса,кто-нибудь


Добавлено через 5 минут
Croessmah, ооочень нужно
Yandex
Объявления
19.07.2015, 13:38     Определить будут ли заданные три точки расположены на одной прямой
Ответ Создать тему
Опции темы

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