Найти корни уравнения - C (СИ) (75247)

Узнай цену своей работы

Формулировка задачи:

Много!! Помогите перепмсать программу с паскаля на с. Заранее спасибо!!
Листинг программы
  1. Program Sq2;
  2. Var A, B, C, D, X, X1, X2: Real;
  3. Begin
  4. Writeln ('vvedite a,b,c ');
  5. readln(a,b,c);
  6. If A=0 Then
  7. If B=0 Then
  8. If C=0 Then Writeln('X - luboе chislo')
  9. Else Writeln('Корней нет! ')
  10. Else
  11. Begin
  12. X:=-C/B;
  13. Writeln('X=',X:2:3);
  14. End
  15. Else
  16. Begin
  17. D:=B*B-4*A*C;
  18. If D<0 Then Writeln ('korney net')
  19. Else
  20. Begin
  21. X1:=(-B+SQRT(D))/2/A;
  22. X2:=(-B-SQRT(D))/2/A;
  23. Writeln ('X1=', X1:2:3, ' X2=',X2:2:3);
  24. writeln ('program zav. press ente');
  25. End;
  26. End;
  27. End.
Извиняюсь парни вот эту плиз перепешите.
Листинг программы
  1. Program kvadratnoe_uravnenie;
  2. Var
  3. a, b, c, d, x1, x2, x: real;
  4. begin
  5. writeln('Enter a, b, c');
  6. readln(a, b, c);
  7. if a = 0 then
  8. writeln('vvedite drugoe znachenie')
  9. else
  10. begin
  11. d := b*b - 4*a*c;
  12. if d < 0 then
  13. writeln('Net korney')
  14. else
  15. begin
  16. if d > 0 then
  17. begin
  18. x1 := (-b - sqrt(d))/2/a;
  19. x2 := (-b + sqrt(d))/2/a;
  20. writeln(x1:2:3, ' ', x2:2:3);
  21. end
  22. else
  23. begin
  24. x := -b/2/a;
  25. writeln(x:2:3);
  26. end;
  27. end;
  28. end;
  29. end.

Решение задачи: «Найти корни уравнения»

textual
Листинг программы
  1. /*
  2.  * Generated by TPTC - Translate Pascal to C
  3.  *     Version 1.7 03/26/88   (C) 1988 S.H.Smith
  4.  */
  5. //#include "tptcmac.h"
  6. #include <stdio.h>
  7.  
  8.  /* Program kvadratnoe_uravnenie  */
  9.  
  10.  
  11. void main(int   argc,
  12.      char  *argv[])
  13. {
  14.   float         a, b, c, d, x1, x2, x;
  15.   printf("Enter a, b, c\n");
  16.   fscanf(stdin,"%f%f%f\n",&a,&b,&c);
  17.   if (a == 0)
  18.     printf("vvedite drugoe znachenie\n");
  19.   else
  20.     {
  21.       d = b * b - 4 * a * c;
  22.       if (d < 0)
  23.         printf("Net korney\n");
  24.       else
  25.         {
  26.           if (d > 0)
  27.             {
  28.               x1 = (-b - sqrt(d)) / 2 / a;
  29.               x2 = (-b + sqrt(d)) / 2 / a;
  30.               printf("%2.3f %2.3f\n",x1,x2);
  31.             }
  32.           else
  33.             {
  34.               x = -b / 2 / a;
  35.               printf("%2.3f\n",x);
  36.             }
  37.         }
  38.     }
  39. }

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы
  2. Объявляем переменные типа float для хранения коэффициентов уравнения и его корней
  3. Выводим приглашение для ввода коэффициентов уравнения
  4. Считываем значения коэффициентов с помощью функции fscanf, сохраняем их в соответствующих переменных
  5. Проверяем, равен ли коэффициент a нулю. Если да, выводим сообщение об ошибке и завершаем работу программы
  6. Если a не равен нулю, вычисляем дискриминант (значение переменной d)
  7. Проверяем значение дискриминанта. Если оно отрицательное, выводим сообщение о том, что корней нет
  8. Если дискриминант больше нуля, вычисляем значения корней (x1 и x2) и выводим их на экран
  9. Если дискриминант равен нулю, вычисляем значение корня (x) и выводим его на экран
  10. Завершаем работу программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы