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

Написать программу решения кубического уравнения

16.05.2014, 09:16. Показов 8073. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу решения уравнения
ax^3+bx=0
для произвольных a и b.Зарание спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2014, 09:16
Ответы с готовыми решениями:

Код решения кубического уравнения
Нужно написать в С++ код решения уравнения типа: A*x^3+B*x^2+C*x+D, кто знает, пожалуйста напишите, мне сказали, что нужно решать по схеме...

Функция для решения кубического уравнения с комплексными коэффициентами
Помогите пожалуйста написать функцию для решения кубического уравнения a*z^3+b*z^2+c*z+d=0 с комплексными коэффициентами. Подстановской...

Написать программу решения уравнения
X (x+a) (x+b) (x+a+b) =c написать программу решения этого уравнения.

12
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
16.05.2014, 10:16
и в чем проблема?
Что-то пытались сами сделать?

Добавлено через 58 минут
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
//---------------------------------------------------------------------------
 #include <iostream.h>
#include <vcl.h>
#include <math.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
#pragma argsused
int main(int argc, char* argv[])
{int a=0, b=0, x1=0;
double x2=0, x3=0;
cout<<Rus("Решение уравнения: ax^3+bx=0 ")<<endl;
cout<<Rus("Введите a")<<endl;
cin>>a;
cout<<Rus("Введите b")<<endl;
cin>>b;
if (a>0 && b>0) {x2=sqrt(b/a); x3=-x2;
cout<<"x1="<<x1<<"; x2="<<x2<<"i; x3="<<x3<<"i"<<endl;}
else {x2=sqrt(-b/a); x3=-x2;
cout<<"x1="<<x1<<"; x2="<<x2<<"; x3="<<x3<<endl;}
system("PAUSE");
    return 0;
}
//---------------------------------------------------------------------------
Нужно проверить. По крайней мере с
a=1 и b=9 вывел правильный ответ
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 17
16.05.2014, 10:45  [ТС]
Я писал сам.Проблема в том что он должен писать когда корней нет.Допустим если я подставлю в уравнение ваши значения a=1 и b=9 то
1x^3+9x=0
Это выражение не будет равно 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
#include"stdafx.h"
#include<iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{
double a,b,x1,x2,x3;
setlocale (LC_ALL,"Russian");
cout«"Введите a";
cin»a;
cout«"Введите b";
cin»b;
if((a>0)&&(b>0))
{ if ((a<0)&&(b<0))
cout«"Нет корней";
else
{
x1=sqrt(abs(b/a));
x2=-x1;
x3=0;
cout«"x1= "«x1«endl;
cout«"x2= "«x2«endl;
cout«"x3= "«x3«endl;
}}
_getch();
return 0;
}
0
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
16.05.2014, 11:32
gamer-wer, У вашего уравнения всегда будет минимум одно решение. при x=0, уравнение обращается в ноль.
C++
1
2
3
if((a>0)&&(b>0))
{ if ((a<0)&&(b<0))
cout«"Нет корней";
Это что такое? Вы сначала проверяете, что a b положительные, а потом, что они отрицательные. Зачем? Нужно проверять и то и другое сразу. (Про отрицательные числа я забыл)
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
//---------------------------------------------------------------------------
 #include <iostream.h>
#include <vcl.h>
#include <locale.h>
#include <math.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
 
int main(int argc, char* argv[])
{int a=0, b=0, x1=0;
double x2=0, x3=0;
cout<<Rus("Решение уравнения: ax^3+bx=0 ")<<endl;
cout<<Rus("Введите a")<<endl;
cin>>a;
cout<<Rus("Введите b")<<endl;
cin>>b;
if ((a>0 && b>0 )|| (a<0 && b<0 )) {x2=sqrt(b/a); x3=-x2;
cout<<"x1="<<x1<<"; x2="<<x2<<"i; x3="<<x3<<"i"<<endl;}
else {x2=sqrt(-b/a); x3=-x2;
cout<<"x1="<<x1<<"; x2="<<x2<<"; x3="<<x3<<endl;}
system("PAUSE");
    return 0;
}
//---------------------------------------------------------------------------
То, что вы не знаете, что такое мнимая единица, не обозначает, что решение неправильное.
ну если хотите, то замените
C++
1
2
if ((a>0 && b>0 )|| (a<0 && b<0 )) {x2=sqrt(b/a); x3=-x2;
cout<<"x1="<<x1<<"; x2="<<x2<<"i; x3="<<x3<<"i"<<endl;}
на
C++
1
if ((a>0 && b>0 )|| (a<0 && b<0 )) {cout<<"x="<<x1<<endl;}
То что на белом фоне, решено с помощью MathCad
Миниатюры
Написать программу решения кубического уравнения  
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 17
16.05.2014, 11:45  [ТС]
а вот в решении написано x=-=3i а что значит i?а И и есть мнимая единица)я прочитал)
Вот только осталось
а случаи если нет корней ?
надо чтобы он писал что их нет)

Добавлено через 8 минут
а вот в решении написано x=-=3i а что значит i?а И и есть мнимая единица)я прочитал)
Вот только осталось
а случаи если нет корней ?
надо чтобы он писал что их нет)
0
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
16.05.2014, 11:46
Лучший ответ Сообщение было отмечено gamer-wer как решение

Решение

gamer-wer, Я же написал, что хотя бы один корень будет всегда. x=0.
Любое число умноженное на 0 дает 0 и 0 в любой степени равен 0.
a*0+b*0=0
найдите такие a b, что бы уравнение не стало равно 0. По крайней мере, я такого не знаю.
Должно быть либо 1, либо 3 вещественных решения.
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 17
16.05.2014, 11:53  [ТС]
при проверки корней. мы подставляем их в уравнение
вот при 1 и 9
уравнение равно 0 же не будет.вот в чём проблема этим препод достал.он или дурак или я не понимаю чего то
0
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
16.05.2014, 12:07
ок.
x^3+9x=0
при 0 0+0==0
при 3i -27i+27i, что тоже равно 0. i^2=-1
при -3i 27i-27i, что тоже равно 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
//---------------------------------------------------------------------------
 #include <iostream.h>
#include <vcl.h>
#include <locale.h>
#include <math.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
 
int main(int argc, char* argv[])
{int a=0, b=0, x1=0;
double x2=0, x3=0;
cout<<Rus("Решение уравнения: ax^3+bx=0 ")<<endl;
cout<<Rus("Введите a")<<endl;
cin>>a;
cout<<Rus("Введите b")<<endl;
cin>>b;
if ((a>0 && b>0 )|| (a<0 && b<0 )) {cout<<"x="<<x1<<endl;}
else {x2=sqrt(-b/a); x3=-x2;
cout<<"x1="<<x1<<"; x2="<<x2<<"; x3="<<x3<<endl;}
system("PAUSE");
    return 0;
}
//---------------------------------------------------------------------------
Когда, я понял, что мнимую единицу, вы не проходили, написал заменить
Этот код при 1 9, а также при -1 и -9 выведет только один корень. x=0
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 17
16.05.2014, 12:11  [ТС]
и ещё я хотел уточнить в чём разница между
system("PAUSE");
и
getch();
0
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
16.05.2014, 12:18
Вообще разница есть, но в данном контексте никакой. Обе используем для того, что бы увидеть результат.
с помощью system(); можно не только останавливать программу, смотря, что писать в скобках.
Ну а getch считывает нажатия клавиши.
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 17
16.05.2014, 12:20  [ТС]
Т.е мобильней писать system так ?
0
43 / 37 / 17
Регистрация: 11.11.2009
Сообщений: 246
16.05.2014, 12:23
Вроде, лучше getch, но я привык к system
0
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 17
16.05.2014, 12:24  [ТС]
Большое спасибо за помощь и консультацию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2014, 12:24
Помогаю со студенческими работами здесь

Написать программу для решения уравнения на С++
Всем привет!!) Помогите с написанием программы для решения уравнения на C++. Буду очень благодарен) z = \frac{sin({x}^{2})}{1 + cos(x)}...

Написать программу решения квадратного уравнения.
Всем привет! Ребят, прошу помощи. помогите пожалуйста написать программу: Написать программу решения квадратного уравнения....

Написать программу для решения уравнения
y=sin(2x+1) х от -3 до 1 го, шаг 0,2 нужно решить функцию нужно на этой неделе, пожалуйста помогите

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

Написать программу решения квадратного уравнения
1) Написать программу решения квадратного уравнения. Корни только вещественные. Ввод и вывод через стандартные потоки ввода-вывода. Вывод...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru