równanie kwadratowe w c

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

int main()
{
float a,b,c,delta;
printf("podaj wspolczynnik a: ");
scanf("%f",&a);
printf("podaj wspolczynnik b: ");
scanf("%f",&b);
printf("podaj wspolczynnik c: ");
scanf("%f",&c);
delta =(b*b)-(4*a*c);
if
    (a=0)
    {
    printf("to nie rownanie kwadratowe");
    }
else
    {

    if
        (delta>0)
        {
        printf("pierwsze rozwiazanie x: %2f",(-b-delta)/(2*a));
        printf("drugie rozwiazanie x: %2f/n",(-b+delta)/(2*a));
        }
    else    
    {

        if
            (delta = 0)
            {
            printf("jedno rozwiazanie x: %2f/n",-b/(2*a));
            }
        else
            {
            if
            (delta < 0)
            {
            printf("brak rozwiazan");
            }
        }
    }
}
system("pause");
return 0;

hej dopiero się uczę programowania więc proszę o pomoc, program ma obliczać pierwiastki r. kwadratowego, ale działa tylko do momentu gdy podaje współczynnik c a potem sie wyłącza. Byłbym bardzo wdzięczny gdyby ktoś mi powiedział co jest źle

0

Porównanie to '==', nie '='.

0

dzięki teraz działa

0

a ja tak z innej beczki, jako ze jestem jeszcze bardziej poczatkujacy niz autor tematu :D chce zapytac jak w tym programie zapisany jest pierwiastek z delty? bo nigdzie go nie widze;/ a nie watpie ze jest jakos madrze zapisany

0

Nie widzisz bo go nie ma...

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

int main()
{
float a,b,c,delta;
printf("podaj wspolczynnik a: ");
scanf("%f",&a);
printf("podaj wspolczynnik b: ");
scanf("%f",&b);
printf("podaj wspolczynnik c: ");
scanf("%f",&c);
delta =(b*b)-(4*a*c);
if
        (a==0)
        {
        printf("to nie rownanie kwadratowe");
        }
else
        {

        if
                (delta>0)
                {
                printf("pierwsze rozwiazanie x: %2f\n",(-b-sqrt(delta))/(2*a));
                printf("drugie rozwiazanie x: %2f\n",(-b+sqrt(delta))/(2*a));
                }
        else
        {

                if
                        (delta == 0)
                        {
                        printf("jedno rozwiazanie x: %2f\n",-b/(2*a));
                        }
                else
                        {
                        if
                        (delta < 0)
                        {
                        printf("brak rozwiazan");
                        }
                }
        }
}

return 0;
}

tu już jest chyba dobrze

0

byłbym jeszcze bardziej wdzięczny gdyby ktoś wytłumaczył mi jak mam zrobić by po obliczeniu pierwiastków program sie nie kończył, tylko pytał czy chce obliczyć następne równanie. Przypuszczam że to jakaś pętla (do, while) ale nie mam pojęcia jak sie do tego zabrać :/

0

zainteresuj się pętlą
do .. while
albo
while

0

Najprostszym sposobem będzie takie coś:

char wybor;
    do
    {
          //Jakies dzialania
          cout<<"Czy chcesz liczyc dalej?[T/N] ";
          cin>>wybor;
    } while(tolower(wybor)=='t'); 

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0