Составить квадратное уравнение, с вычислением дискриминанта и корней - C (СИ)
Формулировка задачи:
Снова здравствуйте! задали задание по функциям, составить квадратное уравнение, с вычислением дискриминанта и корней. я составил, но учитель сказал, что в одной функции нужно решить дискриминант, а в другой найти корни, а я объединил и не знаю как сделать по словам учителя... помогите пожалуйста
вот мой код
#include <vcl.h> #include <stdio.h> #include <conio.h> #include <math.h> #include <iostream.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused void diskr(float a1,float b1,float c1) { float d,x1,x2; d=pow(b1,2)-4*a1*c1; if (d > 0) { x1=(((-b1)+d)/(2*a1)); x2=(((-b1)-d)/(2*a1)); printf("\nDve tochka: x1=%.1f,x2=%.1f",x1,x2); } else if (d == 0) { x1=(-b1/(2*a1)); printf("\nOdna obshaya tochka: x1=%.1f", x1); } else { printf("Resheniya net"); } } void main() { float a,b,c; printf("Vvedite chisla a b c:\n"); scanf("%f",&a); scanf("%f",&b);scanf("%f",&c); diskr(a,b,c); getch(); } //---------------------------------------------------------------------------
Решение задачи: «Составить квадратное уравнение, с вычислением дискриминанта и корней»
textual
Листинг программы
#include <stdio.h> #include <math.h> int ds(int b1, int a1, int c1){ return (b1 * b1)-(4*a1*c1); // Вычисляем дискриминант } int rs1(int b11, int d11,int a11){ return ((-b11 + sqrt(d11)) / (2 * a11)); // Вычисляю x1 } int rs2(int b11, int d11,int a11){ return ((-b11 - sqrt(d11)) / (2 * a11)); // Вычисляю x2 } int main(){ int a = 0; int b = 0; int c = 0; int d = 0; //Дискриминант int x1 = 0; int x2 = 0; char exit[0]; //Хитрюлька для выхода из программы printf("Hello,this program will solve your quadratic equation.\n");// Приветствие printf("Please enter the variable a:\a");//сканирование переменных scanf("%d", &a); printf("Please enter the variable b:\a"); scanf("%d", &b); printf("Please enter the variable c:\a"); scanf("%d", &c); if (a != 0) d = ds(b, a, c); else printf("Error,variable a = 0\n"); if(d < 0) printf("Ssory, equation has roots\n"); else { printf("Discriminant = (%d)\n", d); x1 = rs1(b, d, a); printf(" x1 = (%d)\n", x1); x2 = rs2(b, d, a); printf(" x2 = (%d)\n", x2); } printf("To exit the program, type any character and press enter"); scanf("%s", exit); printf("End!"); return 0; }
Объяснение кода листинга программы
- Объединение всех файлов в один исполняемый файл.
- Выполнение программы.
- Ввод значений переменных a, b, c.
- Вычисление дискриминанта (d) по формуле d = b^2 - 4ac.
- Проверка значения дискриминанта (d).
- Если d < 0, то выводится сообщение об ошибке.
- Если d >= 0, то выводится значение дискриминанта (d).
- Вычисление корня x1 по формуле x1 = (-b + sqrt(d))/(2a).
- Вывод значения корня x1.
- Вычисление корня x2 по формуле x2 = (-b - sqrt(d))/(2a).
- Вывод значения корня x2.
- Вывод сообщения
To exit the program, type any character and press enter
. - Чтение символа из стандартного ввода.
- Выполнение условия для выхода из программы.
- Вывод сообщения
End!
. - Возврат 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д