program obliczający pierwiastki równania kwadratowego

Ferrus_

Użytkownik
Dołączył
Październik 12, 2006
Posty
1
Witam
jestem bardzo początkujący w programowaniu w języku C.Trochę się napociłem i coś tam słodziłem,ale wyszła totalna lipa:]
moze ktoś na to spojrzeć i napisać co powinienem zmienić?

Kod:
#include <stdio.h>

int a,b,delta,x1,x2;

int main(void);

{

    printf ("podaj parametr a:");

    scanf ("%d",&a);

    printf ("podaj parametr b:");

    scanf ("%d",&b);

    printf ("podaj parametr c:");

    delta = b*b - 4*a*c;

    if (delta > 0);

    x1 = (-b - sqrt(delta)) / (2*a);

    x2 = (-b + sqrt(delta)) / (2*a);

    printf ("x1 = "(x1));

    printf ("x2 = "(x2));

    else

    if (delta == 0);

    x1 = -b / (2*a);

    printf ("x1 = " (x2));

    else

    printf ( "funkcja nie ma miejsc zerowych");

   return0;

}
pozdrawiam
 

Pepi

Użytkownik
Dołączył
Maj 29, 2004
Posty
245
#include <stdio.h>
#include <mem.h>
int a,b,c,delta,x1,x2;
int main(void);
{
printf ("podaj parametr a:");
scanf ("%d",&a);
printf ("podaj parametr b:");
scanf ("%d",&b);
printf ("podaj parametr c:");
scanf ("%d",&c);
delta = b*b - 4*a*c;
if (delta > 0);
x1 = (-b - sqrt(delta)) / (2*a);
x2 = (-b + sqrt(delta)) / (2*a);
printf ("x1 = "(x1));
printf ("x2 = "(x2));
else
if (delta == 0);
x1 = -b / (2*a);
printf ("x1 = " (x2));
else
printf ( "funkcja nie ma miejsc zerowych");
return0;
}[/b]

nie poprawilem moze ale tylko zmienilem lekko kod w celu ukazania ze delta z równania kwadratowego wynosi tak jak napisałem tylko powiedz mi gdzie przeczytasz wartosc &c
bez tego ni rusz
 

killrathi

Użytkownik
Dołączył
Marzec 13, 2006
Posty
117
małe przeoczenie:

Kod:
if(warunek)

     czynnosc 1

     czynnosc 2

else

     czynnosc 3

Przy tym kodzie w zaleznosci od kompilatora stanie sie:
a) blad kompilatora (missplaced else)
<
czynnosc 2 wykona sie bezawrunkowo

powinno byc:

Kod:
if(warunek)

    {

     czynnosc 1

     czynnosc 2

    }

else

     czynnosc 3

I kolejna sprawa:
A co sie stanie jak podam:
a=2,4
b=4,5
c=0.8
??
Przy Twoim kodzie bedzie nieprawidlowy wynik.... dlaczego??
Sprawdz specyfikacje typu int (dla uproszczenia powiem ze to liczby naturalne)
 
Do góry Bottom