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

Программа решения квадратного уравнения

28.06.2013, 14:55. Показов 33516. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу которая будет решать квадратное уравнение (любое).
Помогите пожалуйста написать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.06.2013, 14:55
Ответы с готовыми решениями:

Программа для решения квадратного уравнения. Где ошибка?
где ошибка при создании программы для вычисления квадратного уравнения?? #include < iostream> #include <conio.h> #include...

"Первый после Hello, world!". Программа решения квадратного уравнения
Добрый день, уважаемые форумчане. Покритикуйте пожалуйста, программу вывода на экран в полиномиальной форме и нахождения корней квадратного...

Функция решения квадратного уравнения
Помогите пожалуйста составить программу в С++. Функции. Написать функцию решения квадратного уравнения. Исходными данными для...

16
39 / 39 / 24
Регистрация: 13.05.2010
Сообщений: 282
Записей в блоге: 1
28.06.2013, 15:08
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
#include <iostream>
 
using namespace std;
 
int main()
{
    double a, b, c;
 
    cin >> a >> b >> c;
 
    double D = b * b - 4 * a * c;
 
    if (D < 0)
        cout << "D < 0. No decisions!" << endl;
    else if (D == 0)
         {
             double x1 = -b / (2 * a);
             cout << "x1 = " << x1 << endl;
         }
         else
         {
             double x1 = (-b + sqrt(D)) / (2 * a),
                    x2 = (-b - sqrt(D)) / (2 * a);
             cout << "x2 = " << x1 << endl
                  << "x2 = " << x2 << endl;
         }
 
    system("pause");
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 17.11.2020
Сообщений: 86
24.11.2020, 00:27
#include <iostream>
#include <clocale>


using namespace std;

int main()
{
setlocale(LC_ALL, "Russian");

double a, b, c;
cout << "Введите значения ( a , b , c) для решения квадратного уравнения ax^2 + bx + c = 0" << endl << "a =";
cin >> a;
cout << "b =" ;
cin >> b;
cout << "c =" ;
cin >> c;

double D = b * b - 4 * a * c;

if (D < 0)
cout << "D < 0. Корней нет!" << endl;
else if (D == 0)
{
double x1 = -b / (2 * a);
cout << "x1 = " << x1 << endl;
}
else
{
double x1 = (-b + sqrt(D)) / (2 * a),
x2 = (-b - sqrt(D)) / (2 * a);
cout << "x1 = " << x1 << endl
<< "x2 = " << x2 << endl;
}

cin.get();

return 0;
}

Эта версия будет более современной ^^
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.11.2020, 00:36
Цитата Сообщение от Dimaaasik Посмотреть сообщение
if (D < 0)
else if (D == 0)
при таком сравнении будет периодически давать ошибочные результаты. числа типа double сравниваются с помощью малого числа
1
0 / 0 / 0
Регистрация: 17.11.2020
Сообщений: 86
24.11.2020, 00:38
Т.е. вместо типа double выбирать тип данных int ?)
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.11.2020, 00:43
Цитата Сообщение от Dimaaasik Посмотреть сообщение
Т.е. вместо типа double выбирать тип данных int ?
нет, почитать как сравниваются вещественные

Не по теме:

и в чём смысл практически полного повторения Вами предыдущего кода ? отметиться в теме ?

0
0 / 0 / 0
Регистрация: 17.11.2020
Сообщений: 86
24.11.2020, 00:50
Просто я написал свою версию и хотел ею поделиться(
Как только я смогу написать что-то более толковое буду помогать начинающим программистам ))
И ещё скажите пожалуйста вариант с использованием типа int вместо double был правильным или нет?
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
24.11.2020, 01:02
Цитата Сообщение от Yetty Посмотреть сообщение
при таком сравнении будет периодически давать ошибочные результаты. числа типа double сравниваются с помощью малого числа
если честно, тоже не совсем понятно, почему периодически будет с ошибками?

Добавлено через 9 минут
Yetty, спасибо, почитал про сравнение, понял ))
0
0 / 0 / 0
Регистрация: 17.11.2020
Сообщений: 86
24.11.2020, 01:09
А я сижу голову ломаю почему int вместо double )
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.11.2020, 01:12
Цитата Сообщение от Dimaaasik Посмотреть сообщение
буду помогать начинающим программистам
только помогайте правильно - ничто ведь не мешает перед тем как выкладывать код потестировать результаты
Цитата Сообщение от Dimaaasik Посмотреть сообщение
И ещё скажите пожалуйста вариант с использованием типа int вместо double был правильным или нет?
вроде уже Вам ответил:
Цитата Сообщение от Yetty Посмотреть сообщение
нет
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
24.11.2020, 11:37
Все же меня заинтересовал вопрос, по поводу сравнения с нулем вещественных чисел.
Нашел в СИшной ветке форума про квадратные уравнения, ну то же самое сравнения как и здесь. А как тогда сравнивать?
Кликните здесь для просмотра всего текста
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 <stdio.h>
#include <stdlib.h>
#include <math.h>
void f(int a,int b,int c)  
{
  double d,x1,x2;
  d=(b*b)-4*a*c;
  if (d>0)
  {
      x1=(-b+sqrt(d))/(2*a);
      x2=(-b-sqrt(d))/(2*a);
      printf("x1=%f",x1); 
      printf("x2=%f",x2); 
  }
  if (d<0)
  {
      printf("veshestvennyx korney net");
  }
  if (d==0)
  {
      x1=(-b+sqrt(d))/(2*a);
      printf("x1=x2=%f", x1);
  } 
}
 
int main()
{
    int a, b, c;
    printf("Enter a,b,c\n");
    scanf("%d %d %d", &a, &b &c);
    f(a,b,c);
    return 0;
}
0
Злостный нарушитель
 Аватар для Verevkin
10298 / 5721 / 1268
Регистрация: 12.03.2015
Сообщений: 26,496
24.11.2020, 11:51
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
#include <stdio.h>
#include <math.h>
 
int sq_eq(double a, double b, double c, 
          double &x1, double &x2, double precision)
{
  if (!a)
  {
    if (b)
    { 
      x1 = -c / b, x2 = x1;
      return 1;
    }  
    return 0;
  }  
  
  double d = b * b - 4 * a * c;
  if (fabs(d) < precision) d = 0; // <--- точность учитывается здеся
  if (d < 0) return 0;
  
  x1 = (-b - sqrt(d)) / (2 * a);
  x2 = (-b + sqrt(d)) / (2 * a);
  return d ? 2 : 1;
}
 
int main()
{
  double a = 1.0, b = -0.4, c = 0.04;
  double x1, x2;
  switch (sq_eq(a, b, c, x1, x2, 5e-17))
  {
    case 2:  printf("# 2 корня: x1 = %g,  x2 = %g\n", x1, x2); break;
    case 1:  printf("# 1 корень: x1 = x2 = %g\n", x1); break;
    default: printf("# Нет корней\n");
  }
 
  return 0;
}
1
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
24.11.2020, 12:06
Цитата Сообщение от Verevkin Посмотреть сообщение
int sq_eq(double a, double b, double c,
          double &x1, double &x2, double precision)
ну это просто какая то ЖО жуть
0
Злостный нарушитель
 Аватар для Verevkin
10298 / 5721 / 1268
Регистрация: 12.03.2015
Сообщений: 26,496
24.11.2020, 16:23
Цитата Сообщение от мама Стифлера Посмотреть сообщение
ну это просто какая то ЖО жуть
Чо, не работает?
0
из племени тумба-юбма
 Аватар для мама Стифлера
2523 / 1819 / 419
Регистрация: 29.11.2015
Сообщений: 8,857
Записей в блоге: 15
24.11.2020, 16:28
работает, но очень много цифр после запятой ))) Проще тогда округлить до 3 знаков после точки

Добавлено через 1 минуту
У нас да же число Пи, принято считать как 3.14, так до 3х знаков очень даже хорошо округлять ))
0
Злостный нарушитель
 Аватар для Verevkin
10298 / 5721 / 1268
Регистрация: 12.03.2015
Сообщений: 26,496
24.11.2020, 16:29
Цитата Сообщение от мама Стифлера Посмотреть сообщение
но очень много цифр после запятой
чо за херню я щас прочитал?
0
Злостный нарушитель
 Аватар для Verevkin
10298 / 5721 / 1268
Регистрация: 12.03.2015
Сообщений: 26,496
24.11.2020, 16:32
Цитата Сообщение от мама Стифлера Посмотреть сообщение
У нас да же число Пи, принято считать как 3.14, так до 3х знаков очень даже хорошо округлять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.11.2020, 16:32
Помогаю со студенческими работами здесь

Реализуйте программу решения квадратного уравнения
Реализуйте программу решения квадратного уравнения с обязательной проверкой существования действительных корней, а также кратного корня....

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

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

Найти ошибку в программе решения квадратного уравнения
Помогите, пожалуйста, выловить ошибку. Заурядное квадратное уравнение, но корни выбивает не так, как следует. #include...

Написать программу решения квадратного уравнения (C++98 или C++11)
написать программу решения квадратного уравнения, корни вычислять только вещественны,е ввод и вывод через стандартые потоки ввода-вывода,...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru