Найти точки пересечения прямой и параболы - C (СИ)

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

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

Здравствуйте. Дана парабола: 6х^2+y+2=0. И прямая: 2x-5y-2=0. Надо найти их точку пересечения. Чисто в математике надо их приравнять и, найдя дискриминант, найти две точки.
int main()
{
    int x, x1, x2, y;
    float D;
    y = 30*(x*x) - 2*x + 8;
    D = 2*2 - 4*30*8;
    if(D>0)
    {
        x1 = (2+D)/60;
        x2 = (2-D)/60;
    }
    printf("%d and %d", x1, x2);
    return 0;
}
Может ли такой код работать(после компиляции - не работал). Напишите в чём недочёты, пожалуйста)

Решение задачи: «Найти точки пересечения прямой и параболы»

textual
Листинг программы
int main()
{
    int x, x1, x2, y;
    float D, a = 30, b = -2, c = 8;
    D = b*b - 4*a*c;
    if(D>0)
    {
        x1 = (2+D)/60;
        x2 = (2-D)/60;
        printf("%d and %d", x1, x2);
    } else printf("Korney net");
    return 0;
}

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

В этом коде:

  1. Задаются и переменные и их значения:
    • x, x1, x2, y - переменные для хранения координат точек пересечения прямой и параболы
    • D, a, b, c - переменные для хранения коэффициентов параболы (D - дискриминант, a, b, c - коэффициенты уравнения параболы в общем виде)
    • Значения переменных a, b, c задаются в коде (a = 30, b = -2, c = 8)
  2. Вычисляется значение переменной D:
    • D = bb - 4a*c - это формула для вычисления дискриминанта параболы
  3. С помощью условного оператора if проверяется, больше ли значение переменной D нуля:
    • Если D больше нуля, то выполняется следующий блок кода
    • Если D меньше или равно нулю, то выводится сообщение Korney net и программа завершается
  4. В блоке кода внутри условия if вычисляются значения переменных x1 и x2:
    • x1 = (2+D)/60 - это формула для вычисления координаты одной из точек пересечения прямой и параболы
    • x2 = (2-D)/60 - это формула для вычисления координаты другой точки пересечения
  5. С помощью функции printf выводится сообщение с координатами точек пересечения:
    • printf(%d and %d, x1, x2) - это вызов функции, которая выводит сообщение в консоль
    • %d - это спецификатор формата, который указывает на то, что нужно выводить целочисленное значение
  6. Программа завершается возвратом значения 0 из функции main()

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


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

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

14   голосов , оценка 3.714 из 5
Похожие ответы