Загрузка...

Решение дискриминанта С++

Тема в разделе C/C++ создана пользователем Milon356 29 янв 2022. 470 просмотров

  1. Milon356
    Milon356 Автор темы 29 янв 2022 zelenka.guru/threads/3009882/ Чит на Warface 40 29 сен 2020
    Крч, т.к. я в 8 классе и мне нефиг делать (3:00) я решил сделать решение дискриминанта за счёт С++

    получилось как-то так, мб кому-то понадобится
    C
    #include <iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
    double x1, x2; //Делаем переменные х1 х2, через double т.к. он позволяет делать десятичные числа
    setlocale(0, "Russian"); //Делаем русский язык в консоли
    //Переменные а б с
    int a;
    int b;
    int c;
    //ввод А Б С
    cout << "Введи А: " << endl;
    cin >> a;
    cout << "Введи B: " << endl;
    cin >> b;
    cout << "Введи С: " << endl;
    cin >> c;
    //Решение дискриминанта
    int D = b * b - 4 * a * c;
    cout << "Дискриминант равен = " << D << endl;
    cout << "Найдём корни" << endl;
    //Проверки т.к. дискриминант может быть как меньше нуля, так и равен ему
    if (D < 0)
    {
    cout << "Корней нет" << endl;
    }
    if (D == 0)
    {
    int d0 = -((b) / 2 * a);
    cout << "x = " << d0 << endl;
    }
    if (D > 0)
    {
    //Тру пастинг
    x1 = (-b + (sqrt(D))) / (2 * a);
    x2 = (-b - (sqrt(D))) / (2 * a);
    cout << "x1 = " << x1 << endl;
    cout << "x2 = " << x2 << endl;
    }
    }
    Результат:
    [IMG]
     
  2. LVV
    Гайд как крашнуть код:
    [IMG]
    [IMG]
    [IMG]
     
    1. Milon356 Автор темы
      LVV, крашнуть можно всё)) Я ведь не ставлю проверки на вводимые данные, что даёшь то и получаешь
    2. LVV
      Milon356, это все исправляется
    3. Посмотреть следующие комментарии (2)
  3. Хлев
    Хлев 30 янв 2022 2309 18 авг 2017
    почему бы не использовать double и для переменных a,b,c?
     
    1. vtlstolyarov
      Хлев, то что a, b и c целые - это не проблема если по условию задачи они целые, я бы скорее спросил почему d0 целое? (будут проблемы когда b нечетное) и почему d0 неправильно считается? :) должно быть = -b / (2 * a) а написано, -(b / 2) * a
Top
Загрузка...