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

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

10.01.2018, 23:49. Показов 14317. Ответов 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
Сообщений: 732
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
Сообщений: 732
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru