С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/75: Рейтинг темы: голосов - 75, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 150

Система уравнений

10.01.2018, 23:49. Показов 14279. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Не очень разбираюсь в системах, кое что нарешал, но получается херня, не бейте меня ногами только, прошу помощи
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
#include <iostream>
#include <windows.h>
#include <cmath>
#include <math.h>
 
using namespace std;
 
int main()  
{ 
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
 
 
double Fx;
double x;
double y;
cout << "Введите x: ";
cin >> x;
cout << "Введите y: ";
cin >> y;
 
if ((x/y) > 0)
    Fx = log(x/y) + (sqrt(pow(x,2 + y)));
else
    Fx = log(abs(x/y) + (sqrt(pow(x,2 + y))));
if ((x/y) < 0)
    Fx = log(abs(x/y) + (sqrt(pow(x,2 + y))));
else
    Fx = (sqrt(pow(x,2))) + y;
if (x = 0)
    Fx = (sqrt(pow(x,2))) + y;
else
    Fx = 0;
if (y = 0)
    Fx = 0;
 
cout << "F(x) = " << Fx << endl;
 
system("pause");
return 0;
}
Изображения
 
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.01.2018, 23:49
Ответы с готовыми решениями:

Система уравнений
#include &lt;iostream&gt; using namespace std; int main() { int n, i, j, k; double d, s; cout &lt;&lt; &quot;sin(9x) + cos(7y) - 5z*z =...

система уравнений
система уравнений...

Система уравнений
B*(x - x0) + C*(y - y0) = 0 y = k*x + b Нужно узнать координаты x и y Помогите вывести

8
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.01.2018, 00:00
RideRS, напишите убрав все else и sgrt (sqrt - квадратный корень - таких вычислений по условию нет)
и сбросьте ещё раз
0
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 150
11.01.2018, 00:07  [ТС]
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
#include <iostream>
#include <windows.h>
#include <cmath>
#include <math.h>
 
using namespace std;
 
int main()  
{ 
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
 
 
double Fx;
double x;
double y;
cout << "Введите x: ";
cin >> x;
cout << "Введите y: ";
cin >> y;
 
if ((x/y) > 0)
    Fx = log(x/y) + (pow(x,2 + y));
 
    Fx = log(abs(x/y) + (pow(x,2 + y)));
if ((x/y) < 0)
    Fx = log(abs(x/y) + (pow(x,2 + y)));
 
    Fx = (pow(x,2)) + y;
if (x = 0)
    Fx = (pow(x,2)) + y;
 
    Fx = 0;
if (y = 0)
    Fx = 0;
 
cout << "F(x) = " << Fx << endl;
 
system("pause");
return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.01.2018, 00:13
так не пойдёт. else нужно удалить все операторы с их содержимым, и прописать уравнения по новому (там есть 3 степень, обратите внимание) - просто прописывайте все if в соответствии с условием - Вы на верном пути

исправьте, сбросьте ещё раз и напишите полное условие задания
0
1 / 1 / 0
Регистрация: 11.10.2015
Сообщений: 150
11.01.2018, 00:24  [ТС]
извините, я что-то не очень понимаю как возвести целую скобку в 3-ю степень, так же через pow?
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.01.2018, 00:39
Цитата Сообщение от RideRS Посмотреть сообщение
так же через pow
именно так
0
71 / 59 / 14
Регистрация: 20.12.2013
Сообщений: 721
11.01.2018, 01:42
C++
1
if(x=0)
Это присваивание переменной x нуля, т.е. такое условие всегда ложно, надо
C++
1
if(x==0)
Кроме того, условие
C++
1
if(y==0)
Надо проверять первым - иначе можно пропустить деление на ноль. А вообще действительные числа лучше не таким условием проверять, а
C++
1
if(fabs(y)<eps)
где eps - очень малое положительное действительное число.

Ну и надо не в main вычислять Fx, а оформить в виде функции.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.01.2018, 03:10
AndrSlav, конечно всё правильно говорите, два момента можно подробнее:
Цитата Сообщение от AndrSlav Посмотреть сообщение
действительные числа лучше не таким условием проверять
подскажите в чём состоит преимущество проверки if(fabs(y)<eps)
Цитата Сообщение от AndrSlav Посмотреть сообщение
... условие if(y==0) Надо проверять первым - иначе можно пропустить деление на ноль.
если это условие будет первым - что изменится? к=0 пойдёт ведь и в следующие if. При такой записи при y=0
if ((x/y) > 0) Fx=5; if ((x/y) < 0) Fx=4; if (x == 0) Fx=3; if (y == 0) Fx=2;
неправильно наверное что происходит деление на 0, но всё работает и выдаётся нужный результат (Fx=2) - или такая запись неправильна?
0
71 / 59 / 14
Регистрация: 20.12.2013
Сообщений: 721
11.01.2018, 05:02
Цитата Сообщение от Yetty Посмотреть сообщение
если это условие будет первым - что изменится? к=0 пойдёт ведь и в следующие if. При такой записи при y=0
if ((x/y) > 0) Fx=5;
При делении на ноль формально получается, бесконечность, если делимое не равно нулю, в противном случае вообще "что-то непонятное", сюда еще наслаивается конечность типов данных. Т.е. это недопустимая операция, и результат ее непредсказуем, с тем же успехом можно проверять случайное число на неравенство. И это еще не говоря о том, что при делении на ноль программа просто завершится ошибкой. В общем, все нестандартные места программы надо обязательно аккуратно обрабатывать.
Цитата Сообщение от Yetty Посмотреть сообщение
подскажите в чём состоит преимущество проверки if(fabs(y)<eps)
Поскольку типы данных не бесконечны, то существуют максимальное и минимальное число, представляемые данным типом. Т.е., образно говоря, 0.000000001 может быть на самом деле нулем, 2.0000007 в действительности 2, а при очень неудачном алгоритме вычисления результата, когда в операции задействованы числа с сильно разными порядками, результат может иметь очень большую погрешность. Т.е. используя eps мы говорим "если число по модулю достаточно мало, то считаем его нулем".

Добавлено через 8 минут
Цитата Сообщение от Yetty Посмотреть сообщение
пойдёт ведь и в следующие if.
Надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const double eps= 0.00000001;
if(fabs(y)<eps) //y==0
{
 ;
}
else if(fabs(x)<eps)  //x==0
{
 ;
}
else if(x/y<0)  //x/y<0
{
 ;
}
else //x/y>0
{
 ;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.01.2018, 05:02
Помогаю со студенческими работами здесь

Система уравнений
Помогите розвязать систему уравнений

Система уравнений
Здравствуйте, как на с++ решить систему уравнения такого характера U1 + V1 = 3 U1 + V2 = 2 U1 + V4 = 1 U2 + V1 = 2 U2 + V3 = 1 ...

Система уравнений в c++
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от X нач до X кон с шагом dX F= { -ax^2 при с &lt; 0 и a...

Система уравнений
Помогите решить. $$y=\begin{cases}({2}^{3 \times x - 1}) \times ({x}^{2}),&amp; \text{$|x| \geq 5$;}\\{\ln |x|}^{-1},&amp; \text{$0 \le...

Система линейных уравнений
Даны вещественные числа a, b, c, d, e, f. Решите систему линейных уравнений Формат входных данных Вводятся шесть чисел -...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru