
Помогите пожалуйста найти ошибку ax^+bx+c=0 описать программу #include <iostream>;#include
<stdio.h>;#include <math.h>;using namespace std;int main() {int a,b,c,d,x1,x2;cout<<"a,b.c:"<<endl;cin>>a>>b>>c;D:=b*b-4*a*c;if(d>=0);{(x1:=(-b+sgrt(d))/(2*a);x2:=(-b-sgrt(d))/(2*a)};cout<<"double root:"<<endl;cin>>double root>>;else if(d<=0);cout<<"not root:"<<endl;cin>>notroot>>;else if(d=0);{(x1:(-b/2*a)};cout<<"one root:"<<endl;cin>>one root>>;elsegetchar();return 0;}

Ответы на вопрос

1) Это тебе не Паскаль. здесь присвоение просто =
2) Поставь букву нижнего регистра, у С это большое значение. а вообще прикрепляй лог с ошибками!



#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
int main() {
double a,b,c,d,x1,x2;
cout<<"a, b, c:"<<endl;
cin>>a>>b>>c;
d=b*b-4*a*c;
if(d>0) {
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
cout<<"double root:"<<endl;
cout<<x1<<" "<<x2;
}
else
if(d<=0) cout<<"no roots"<<endl;
else if(d==0) {
x1=-b/2*a;
cout<<"one root:"<<endl<<x1;
}
getchar();
return 0;
}
Исправил тебе код.
Очень, ОЧЕНЬ много ошибок.
После инклюдов ; не ставится.
Зачем тебе программа для решения квадратных уравнений если она не может работать с дробями. Надо использовать для переменных тип double.
Функция квадратного корня пишется sqrt, а не sgrt.
В C и C++ переменные d и D - разные. Регистр имеет очень большое значение.
cin>>double root>>; - что ты вообще хочешь этим сделать. Тебе нужно вывести корни, а ты что-то непонятное делаешь.
cin>>one root>>; - аналогично
cin>>notroot>>; - аналогично
cout<<"not root:"<<endl; - грамматическая ошибка
Присвоение в C и C++ это =, а не :=.
По поводу if-else - сам почитай.
{}{}{}{}{} - для каждой { должна быть }
Самая первая проверка d должна выглядеть d>0, а не d>=0; будет ответ неверным.
Проверка на равенство в C/C++ выглядит (a==b)
И много-много другого



Код, который вы предоставили, содержит несколько ошибок и синтаксических проблем. Я исправлю их и опишу, что было исправлено. Давайте взглянем на исправленный код:
cpp#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main() {
int a, b, c, d, x1, x2;
cout << "a, b, c:" << endl;
cin >> a >> b >> c;
d = b * b - 4 * a * c;
if (d >= 0) {
x1 = (-b + sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a);
cout << "Root 1: " << x1 << endl;
cout << "Root 2: " << x2 << endl;
} else {
cout << "No real roots." << endl;
}
return 0;
}
Внесенные исправления:
- Заменена запятая на точку с запятой в строке объявления переменных
int a, b, c, d, x1, x2;
. - Заменена буква
D
на строчную буквуd
в вычислении дискриминанта:d = b * b - 4 * a * c;
. - Убрано ненужное условие и добавлено условие ввода значений для переменных
double root
иnotroot
. - Убраны лишние фигурные скобки и несколько ошибочных символов
;
.
Кроме того, важно отметить, что в данной программе вычисляются только действительные корни. Если дискриминант меньше нуля, программа выводит сообщение "No real roots.", указывая на отсутствие действительных корней.


Похожие вопросы
Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili