Pierwiastki równania - program nic nie wyświetla

Pierwiastki równania - program nic nie wyświetla
  • Rejestracja: dni
  • Ostatnio: dni
0

Mam takie zadanie:

zad3.png

Napisałem taki program:

Kopiuj
#include <stdio.h>
#include <math.h>

void zad3(int a, int k)
{
    int x=0;
    while(x < k)
    {
        float wynik = pow(x,6) - abs(a) * pow(x,4) + 3 * pow(x, 2) - 7;
        if(wynik == 0)
            printf("%f\n", wynik);
        x ++;
    }
}

int main()
{
    zad3(1, 100);

    return 0;
}

Jednak on mi nic nie wyświela :( Zadanie chyba nie może być ttrudne, bo to podstawy programowania. Co jest tu źle? Siedzę już kilka godzin i nie potrafię znaleźć błędu.

RA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 37
0

To dlatego, że podane równanie nie ma całkowitych rozwiązań w danym przedziale: http://www.wolframalpha.com/input/?i=x^6-x^4%2B3x^2-7

Vardamir
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Zdajesz sobie sprawę, że dla a=1 to równanie nie ma rozwiązań w postaci liczb całkowitych?

Zresztą takie a nie istnieje. http://www.wolframalpha.com/input/?i=x%5E6-Abs%28a%29x%5E4%2B3x%5E2-7%3D0%2C+x+is+integer

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.