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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 5.00
marts
Сообщений: n/a
#1

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

24.12.2008, 19:07. Просмотров 3441. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста надо срочно решить эти задачки:

1. Дано натуральное число n. Среди чисел 1, ..., n найти такие, запись которых совпадает с последующими цифрами записи их квадратов (например 6*6(6 в квадрате)=36 5*5 (5 в квадрате)=25)
2. Даны 3 точки A(x1,y1), B(x2,y2), C(x3,y3)

Определить, будут ли они расположены на одной прямой, если нет то вычислить угол ABC

3. Задан массив, содержащий несколько нулевых элементов. Сжать его, выбросив нулевые элементы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2008, 19:07     Определить, будут ли точки расположены на одной прямой
Посмотрите здесь:
Определить будут ли заданные три точки расположены на одной прямой C++
C++ Определить расположены ли точки на одной прямой
Определить, лежат ли точки на одной прямой C++
Определить лежат ли три точки на одной прямой C++
Три точки заданы координатами. Определить, лежат ли они на одной прямой C++
C++ Определить, лежат ли три точки A, B, C на одной прямой. Если нет, найти угол ABC
C++ Определить минимальное подмножество точек, после удаления которых останутся точки лежащие на одной прямой
Принадлежат ли точки одной прямой C++
C++ Определите, лежат ли точки на одной прямой
Лежат ли точки на одной прямой и вычислить угол C++
Из одной точки к прямой проведены перпендикуляр и наклонная C++
Найти всевозможные группы по 3,4. точки, лежащие на одной прямой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rom1k
13 / 13 / 2
Регистрация: 15.10.2009
Сообщений: 67
28.04.2010, 15:46     Определить, будут ли точки расположены на одной прямой #2
Цитата Сообщение от marts Посмотреть сообщение
2. Даны 3 точки A(x1,y1), B(x2,y2), C(x3,y3)

Определить, будут ли они расположены на одной прямой, если нет то вычислить угол ABC
мне эту задачу тоже надо решить помогите пожалуйста...
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
28.04.2010, 16:26     Определить, будут ли точки расположены на одной прямой #3
p0, p1, p2 - искомые точки
epsilon - число близкое к нулю - зависит от точности и размерности координат
C++
1
2
3
4
5
double s = (p1.x - p0.x)*(p2.y - p0.y) - (p2.x - p0.x)*(p1.y - p0.y);
if (fabs(s) < epsilon)
{
    // на одной прямой....
}
Добавлено через 17 минут
продолжение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
else // вычисляем угол
{
    double l1 = hypotl (p0.x - p1.x, p0.y - p1.y);
    double l2 = hypotl (p1.x - p2.x, p1.y - p2.y);
    double l3 = hypotl (p0.x - p2.x, p0.y - p2.y);
    // добавить проверку l1, l2 и l3 на 0
    double p = l1 + l2 + l3;
    double n = (p*0.5)*(p*0.5 - l3)/(l1*l2);
    n = n < 0 ? 0 : n;
    double c = sqrt(n);
    // добавить проверку попадания c в (-1.0, 1.0)
    double alfa = RadToDeg (acos(c)*2.0);   
}
если нет RadToDeg:
alfa = acos(c)*360/M_PI;
Ответ Создать тему
Опции темы

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