Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
4 / 4 / 0
Регистрация: 02.03.2015
Сообщений: 385

Написать программу решения системы тригонометрических уравнений (разветвляющиеся алгоритмы)

01.01.2016, 15:00. Показов 5575. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане, требуется ваша помощь. Я немного затрудняюсь в написании кода разветвляющихся алгоритмов, очень прошу помочь. Ниже я прилагаю пример(задачу) и её решение(код). Правда я не знаю, правильно ли составил код программы. Можете пожалуйста проверить все ли правильно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
#include <cmath>
using namespace std;
int main () {
    float y,d,b,c;
    int a,x;
    float y1,y2;
        cout<<"d=";cin>>d;
        cout<<"a=";cin>>a;
        cout<<"b=";cin>>b;
        cout<<"x=";cin>>x;
        cout<<"c=";cin>>c;
    y1=(d*sin(a*M_PI/180.)+b*cos(x*M_PI/180.)+c*c*c)/(a*a-b*b*c);
    y2=(2*log(x)-log(a*x))/(a*c*b+c*c);
    if (sin(a*M_PI/180.)>0) cout<<"y1= "<<y1<<endl;
    else cout<<"y1 !="<<endl;
    if ((a-x)<0) cout<<"y2= "<<y2<<endl;
    else cout<<"y2 !="<<endl;
    _getch();
    return 0;
}
p.s. Задача на узбекском, слово "агар" означает "если".
Миниатюры
Написать программу решения системы тригонометрических уравнений (разветвляющиеся алгоритмы)  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.01.2016, 15:00
Ответы с готовыми решениями:

Написать программу для решения системы двух уравнений
не знаю как написать программу вводимы и выводимые данные сопровождать краткими поясняющими текстами для проверки численных значений...

Написать программу для решения системы нелинейных уравнений
Не могу сделать прогу на С++. Кто сделает - огромное спасибо. sin(9x)+cos(7y)-5z*z=10, cos(x)+y-tan(2x)=17, cos(x)+6y-cos(z)=23; ...

Написать программу решения системы линейных алгебраических уравнений
Всем привет! Прошу помочь разобраться. Нужно: Написать программу решения системы линейных алгебраических уравнений одним из следующих...

4
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.01.2016, 15:56
1. Если нет явного требования float, лучше использовать double
2. Несогласованность аргументов тригонометрических функций и логарифма
3. Вычислять функцию имеет смысл только при выполнении условия
1
4 / 4 / 0
Регистрация: 02.03.2015
Сообщений: 385
01.01.2016, 16:21  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
1. Если нет явного требования float, лучше использовать double
2. Несогласованность аргументов тригонометрических функций и логарифма
3. Вычислять функцию имеет смысл только при выполнении условия
1. Использовал флоат для уменьшения памяти программы(от нас этого требуют)
2. Всмысле а и х я использовал и для лог и для син\кос? Так я же там сделал перевод радиан в градусы. Или для каждого из них нужно создавать свою переменную?
3. Это я сделал для себя, чтобы знать, если условие не выполняется, значит ответа нет. А за совет спасибо, учту на будущее!

з.ы. И под конец, правильно ли вообще, в целом решил ли я правильно эту задачу? Ведь каждую из функций я решал по отдельности, а эта ведь система, вот именно этого я и побаиваюсь(сомневаюсь в правильности своего решения).
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
01.01.2016, 16:40
Цитата Сообщение от shogunuz Посмотреть сообщение
Использовал флоат для уменьшения памяти программы(от нас этого требуют)
Как сравнивал разницу?
Цитата Сообщение от shogunuz Посмотреть сообщение
Так я же там сделал перевод радиан в градусы.
Вопрос в том, почему ты думаешь, что один и тот же аргумент нужно переводить из градусов в радианы для sin, и не надо в log.
Цитата Сообщение от shogunuz Посмотреть сообщение
если условие не выполняется, значит ответа нет.
Видимо, ты меня неправильно понял. По твоей программе если условие для y1(y2) не выполняется, ты его не выводишь, но всё равно вычисляешь. Я предлагаю так:
C++
1
2
3
4
5
6
7
if ((a-x)<0) {
  y2 = // вычисляем y2
  cout<<"y2= "<<y2<<endl; // выводим значение
}
else {
  cout<<"y2 !="<<endl; // значение y2 не используется
}
Цитата Сообщение от shogunuz Посмотреть сообщение
Ведь каждую из функций я решал по отдельности, а эта ведь система
Это не система в том понимании, что ты не неизвестную величину ищешь, а просто производишь вычисления.
1
4 / 4 / 0
Регистрация: 02.03.2015
Сообщений: 385
01.01.2016, 19:00  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
Как сравнивал разницу?
флоат=32бит против даббл=64. По сути, конкретно для этой задачи, если заменить флоат дабблом, размер не особо поменяется, просто, привычка. А вообще, как опытный эксперт по с++, можете сказать почему именно лучше использовать даббл? Ведь дело не только в размерности этих переменных, нет?

Цитата Сообщение от Tulosba Посмотреть сообщение
Вопрос в том, почему ты думаешь, что один и тот же аргумент нужно переводить из градусов в радианы для sin, и не надо в log.
В задачах или вообще в математике когда мы пишем ln(a), в с++ это будет log(a). Но если в математике sin(a) то, в с++ a-является радианом, которое надо перевести вградусы, разве нет? (Походу, я начинаю тормозить... )

Цитата Сообщение от Tulosba Посмотреть сообщение
Видимо, ты меня неправильно понял. По твоей программе если условие для y1(y2) не выполняется, ты его не выводишь, но всё равно вычисляешь. Я предлагаю так:
А вот за это, реально, большущее спасибо. Великолепный совет, я читал это в учебнике, но из-за того, что не использовал во время на практике, так и позабыл. Спасибо еще раз.
Цитата Сообщение от Tulosba Посмотреть сообщение
Это не система в том понимании, что ты не неизвестную величину ищешь, а просто производишь вычисления.
Значит в подобных задачках так и должно быть, два ответа?(в данном случае y1 и y2) Это я так, ради 100% уверенности спрашиваю .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.01.2016, 19:00
Помогаю со студенческими работами здесь

Написать программу для решения системы уравнений методом Гаусса (c++)
Добрый вечер! Нужно написать программу для решения системы уравнений методом Гаусса. Уравнений всего два: a11*x1 + a12*x2 = z1...

Написать программу для решения системы уравнений с пом. матрицы
Добрый день! Очень прошу вашей подсказки в написании моей первой программы для решения системы уравнений с помощью матрицы! Собственно,...

Способ решения системы тригонометрических уравнений
Здравствуйте! Изначально создал похожу тему на ветке Маткада, но пока результатов нет. Хотелось бы больше разобраться в теории, как...

Написать программу решения системы линейных уравнений
Написать программу решения системы линейных уравнений A1X+B1Y+С1=0 A2X+B2Y+С2=0 Помогите кому не сложно.

Написать программу решения системы линейных уравнений
на форуме решения такой задачи не нашел((


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru