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

Решения тригонометрического уравнения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента http://www.cyberforum.ru/cpp-beginners/thread679901.html
Найти сумму модулей элементов массива, расположенных после первого отрицательного элемента. Вот код: #include <conio.h> #include <math> #pragma argsused int main(int argc, char* argv) { int a,n, i, ot, s;
C++ графы в ближайшие несколько дней нужна программа и блок-схема перевода матрицы инцидентности в список ребер на С++ , с языком почти не знаком. http://www.cyberforum.ru/cpp-beginners/thread679895.html
Классы. Сортировка обьектов класса C++
нужно отсортировать страны в континенте..программа вроде работает..но где-то ошибка..помогите найти...мелкие ошибки плохо ищутся..а мне сдать срочно надо.. #include<math.h> #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> #include<dos.h> #include<string.h>
Из массива A удалить те цепочки нечетных элементов, в которых нет ни одного элемента из массива B C++
Пожалуйста помогите! Из массива A удалить те цепочки нечетных элементов, в которых нет ни одного элемента из массива B. Пример: массив A: 3 2 7 5 2 1 2 6 3 9 массив B: 1 2 5 4 8 Массив A после удаления примет вид: A: 2 7 5 2 1 2 6.
C++ Определить,является ли заданное число x корнем полинома,коэффициенты которого заданы в массиве по возрастанию степеней http://www.cyberforum.ru/cpp-beginners/thread679886.html
Определить,является ли заданное число x корнем полинома,коэффициенты которого заданы в массиве по возрастанию степеней.
C++ Найти число сочетаний из n элементов по m найти число сочетаний из n элементов по m подробнее

Показать сообщение отдельно
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 656
26.10.2012, 14:10  [ТС]     Решения тригонометрического уравнения
Цитата Сообщение от doctor_lecter Посмотреть сообщение
А что же тогда нужно вводить? Что вы понимаете под числовым значением? И почему радианы это не числовое значение?

Тогда по вашей логике уравнение a*x^2 - x + 1 = 0 тоже не имеет решений при a=0, т.к. a уходит в знаменатель.
Попробуйте в ваше уравнение подставить a=b=c=0 и посмотреть что получится.

Когда решая уравнение совершаете какие-либо преобразования, нужно всегда смотреть особые случаи, как например деление на 0, и проверять что будет если подставить параметры, которые эти случаи вызывают (до этого преобразования).
Может быть вы так и решаете уравнение a*x^2 - x + 1 = 0 при a=0 решается квадратное уравнение через дискриминант, но правильное решение при a=0 следующее - x + 1 = 0, откуда x = 1. Что касается данного тригонометрического уравнения, то как я уже указал при создании этой темы
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sin(\alpha)= \frac{{b}^{2}}{\sqrt{{a}^{2} + {b}^{2}}}
и
http://www.cyberforum.ru/cgi-bin/latex.cgi?\cos(\alpha)= \frac{{a}^{2}}{\sqrt{{a}^{2} + {b}^{2}}}
Если к примеру http://www.cyberforum.ru/cgi-bin/latex.cgi?\sin(\alpha)= \frac{{b}^{2}}{\sqrt{{a}^{2} + {b}^{2}}}= 0 отсюда
http://www.cyberforum.ru/cgi-bin/latex.cgi?\arcsin(\frac{b}{\sqrt{{a}^{2} + {b}^{2}}}) = \arcsin(0) = {0}^{0}
http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha ={0}^{0},
при http://www.cyberforum.ru/cgi-bin/latex.cgi?\sin(\alpha)= \frac{{b}^{2}}{\sqrt{{a}^{2} + {b}^{2}}} = 1 отсюда
http://www.cyberforum.ru/cgi-bin/latex.cgi?\arcsin(\frac{b}{\sqrt{{a}^{2} + {b}^{2}}}) = \arcsin(1) = {90}^{0}
http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha = {90}^{0}

http://www.cyberforum.ru/cgi-bin/latex.cgi?\cos(\alpha)= \frac{{a}^{2}}{\sqrt{{a}^{2} + {b}^{2}}}= 0  отсюда
http://www.cyberforum.ru/cgi-bin/latex.cgi?\arccos(\frac{a}{\sqrt{{a}^{2} + {b}^{2}}}) = \arccos(0) = {90}^{0}
http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha = {90}^{0},
при http://www.cyberforum.ru/cgi-bin/latex.cgi?\cos(\alpha)= \frac{{a}^{2}}{\sqrt{{a}^{2} + {b}^{2}}}= 1 отсюда
http://www.cyberforum.ru/cgi-bin/latex.cgi?\arccos(\frac{a}{\sqrt{{a}^{2} + {b}^{2}}}) = \arccos(0) = {90}^{0}
http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha = {360}^{0}
Я и учел эти особые случае деление на 0 a^2 + b^ 2 = 0 то есть знаменатель у нас равен 0
C++
1
a*a + b*b == 0
и
C++
1
fabs(c) > sqrt(a*a + b*b)
И у меня при a = 0, b = 0 и c = 0 получается не определенность, что я тоже показал на скрине выше. Не знаю откуда вы взяли, что программа будет выдавать конкретные значения, когда и числитель и знаменатель равен 0 или знаменатель равен 0. Вы наверное спутали с арктангенсом и арккотангенсом.


Mr.X спасибо огромное за ваш код, но нужно внести одно исправление при a^2 + b^ 2 = 0
C++
1
2
3
4
5
if( abs_a_b == 0 )
        {
            std::cout   <<  "Уравнение решений не имеет."
                        <<  std::endl;
        }
Так косинус и синус ограниченные функции.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru