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

Найти координаты точек - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблонные функции http://www.cyberforum.ru/cpp-beginners/thread98155.html
Помогите, пожалуйста, реализовать шаблонную функцию определения, есть ли число в массиве
C++ Выдаёт ошибку #include <iostream.h> #include <conio.h> const n=3; struct marsh { int begl,endl,nomer; } s Void main () { int i,w,o,y,p; http://www.cyberforum.ru/cpp-beginners/thread98144.html
Рекурсивная функция и передача аргументов функции C++
Помогите пожалуйста!!!!! Пропустила занятие, а разобраться не получается!!!!!!!!А нужно на завтра!!!! Написать рекурсивную функцию polindrom(n), которая определяет является ли число полиндромом,...
C++ НАСЛЕДОВАНИЕ
Никак не могу толком разобраться с наследованием классов...мужусь-мужись и только...подскажите плиз как описать класс, который наследует предыдущие два класса, и дополняет их методами ввода/вывода...
C++ Строки с выделением динамической памяти http://www.cyberforum.ru/cpp-beginners/thread98108.html
Привет всем! Помогите решить вот такую задачу: Ввести две строки. Определить совпадение их слов (Первое слово 1 строки сравнить с первым словом 2 строки, Второе слово 1 строки, со вторым словом 2...
C++ Дано натуральное число n, символы s1...,sn. Определить число вхождений в последовательность s1...,sn группы букв abc, aba. Помогите решить задачу на завтра очень надо подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
23.02.2010, 07:12
Подставим уравнение прямой в уравнение окружности, получим равенство:
x^2(1+k^2)+2kbx+(b^2-R^2)=0. Очевидно, что главный коэффициент не равен нулю.
Дискриминант и корни находим для уравнения с четным вторым коэффициентом.
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
#include <iostream>
#include <cmath>
 
#define GET(A) { std::cout << "Введите " << #A \
    << ": "; std::cin >> A; }
 
int main()
{
    setlocale(LC_ALL, "Russian");
    double k, b, R, D;
    GET(k);
    GET(b);
    GET(R);
    D=k*b*k*b-(1+k*k)*(b*b-R*R);
    if(D<0)
        std::cout << "Точек пересечения нет" << std::endl;
    else if(D==0)
    {
        double x1, y1;
        x1=-(k*b)/(1+k*k);
        if(x1==0)
            x1=int(x1);
        y1=k*x1+b;
        std::cout << "Прямая касается окружности в точке ("
                  << x1 << "; " << y1 << ")" << std::endl;
    }
    else
    {
        double x1, x2, y1, y2;
        x1=(-k*b-sqrt(D))/(1+k*k);
        x2=(-k*b+sqrt(D))/(1+k*k);
        if(x1==0)
            x1=int(x1);
        if(x2==0)
            x2=int(x2);
        y1=k*x1+b;
        y2=k*x2+b;
        std::cout << "Прямая пересекает окружность в точках ("
                  << x1 << "; " << y1 << ") и (" << x2 << "; " << y2 << 
                  ")" << std::endl;
    }
    system("pause");
    return EXIT_SUCCESS;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru