C - Nulpunten berekenen
Auteur: Joel - 24 november 2005 - 10:26 - Gekeurd door: nemesiskoen - Hits: 6297 - Aantal punten: 3.50 (2 stemmen)
Berekent de nulpunten van een vierkantsvergelijking
|
Code: |
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//DISCRIMINANT functie -- Berekent de discriminant
int discriminant(int a, int b, int c)
{
int discriminant;
discriminant = b*b - 4*a*c;
printf ("D = b*b - 4ac = %d * %d - 4 * %d * %d = %d\n", b, b, a, c, discriminant);
return discriminant;
}
//ABC functie -- Berekent de nulpunten
void abc(int a, int b, int c)
{
printf ("DISCRIMINANT BEREKENEN\n");
printf ("---------------------------------------------------\n\n");
int disc, vierkantswortel, X, Y;
disc = discriminant(a, b, c);
printf ("De discriminant is %d\n\n", disc);
if (disc > 0)
{
printf ("\n\n\n\n");
printf ("Discriminant is groter dan 0\n\n");
vierkantswortel = sqrt((float) disc);
X = (-b + vierkantswortel) / 2*a;
Y = (-b - vierkantswortel) / 2*a;
printf ("\n\n\n\n");
printf ("NULPUNTEN BEREKENEN\n");
printf ("---------------------------------------------------\n\n");
printf ("We berekenen de nulpunten x en y:\n\n");
printf ("X = (-b + sqrt(discriminant)) / 2*a = (%d + sqrt(%d)) / 2*%d = %d\n", -b, disc, a, X);
printf ("Y = (-b - sqrt(discriminant)) / 2*a = (%d - sqrt(%d)) / 2*%d = %d\n\n", -b, disc, a, Y);
printf ("De twee nulpunten zijn %d en %d\n\n", X, Y);
}
if (disc < 0) {
printf ("Discriminant is kleiner dan 0\n\n");
printf ("\n\n\n\n");
printf ("NULPUNTEN BEREKENEN\n");
printf ("---------------------------------------------------\n\n");
printf ("Er zijn geen nulpunten\n\n");
}
if (disc == 0) {
X = -b / 2*a;
printf ("Discriminant is gelijk aan 0\n\n");
printf ("\n\n\n\n");
printf ("NULPUNTEN BEREKENEN\n");
printf ("---------------------------------------------------\n\n");
printf ("Nulpunt1 is gelijk aan Nulpunt2\n\n");
printf ("X = Y = -b/2a = %d/2*%d = %d\n\n", -b, a, X);
}
}
//Main -- Waarden a, b en C worden ingegeven en nulpunten worden berekend.
void main(void)
{
int a, b, c;
printf ("WAARDEN A, B en C INGEVEN\n");
printf ("---------------------------------------------------\n\n");
printf ("Geef de waarde in van a: ");
scanf("%d",&a);
printf ("Geef de waarde in van b: ");
scanf("%d",&b);
printf ("Geef de waarde in van c: ");
scanf("%d",&c);
printf ("\n\n\n\n");
abc (a, b, c); //waarden a, b en c
}
#include <stdio.h> #include <stdlib.h> #include <math.h> //DISCRIMINANT functie -- Berekent de discriminant int discriminant(int a, int b, int c) { int discriminant; discriminant = b*b - 4*a*c; printf ("D = b*b - 4ac = %d * %d - 4 * %d * %d = %d\n", b , b , a , c , discriminant ); return discriminant; } //ABC functie -- Berekent de nulpunten void abc(int a, int b, int c) { printf ("DISCRIMINANT BEREKENEN\n"); printf ("---------------------------------------------------\n\n"); int disc, vierkantswortel, X, Y; disc = discriminant(a, b, c); printf ("De discriminant is %d\n\n", disc ); if (disc > 0) { printf ("Discriminant is groter dan 0\n\n"); vierkantswortel = sqrt((float ) disc ); X = (-b + vierkantswortel) / 2*a; Y = (-b - vierkantswortel) / 2*a; printf ("NULPUNTEN BEREKENEN\n"); printf ("---------------------------------------------------\n\n"); printf ("We berekenen de nulpunten x en y:\n\n"); printf ("X = (-b + sqrt(discriminant)) / 2*a = (%d + sqrt(%d)) / 2*%d = %d\n", -b , disc , a , X ); printf ("Y = (-b - sqrt(discriminant)) / 2*a = (%d - sqrt(%d)) / 2*%d = %d\n\n", -b , disc , a , Y ); printf ("De twee nulpunten zijn %d en %d\n\n", X , Y ); } if (disc < 0) { printf ("Discriminant is kleiner dan 0\n\n"); printf ("NULPUNTEN BEREKENEN\n"); printf ("---------------------------------------------------\n\n"); printf ("Er zijn geen nulpunten\n\n"); } if (disc == 0) { X = -b / 2*a; printf ("Discriminant is gelijk aan 0\n\n"); printf ("NULPUNTEN BEREKENEN\n"); printf ("---------------------------------------------------\n\n"); printf ("Nulpunt1 is gelijk aan Nulpunt2\n\n"); printf ("X = Y = -b/2a = %d/2*%d = %d\n\n", -b , a , X ); } } //Main -- Waarden a, b en C worden ingegeven en nulpunten worden berekend. void main(void) { int a, b, c; printf ("WAARDEN A, B en C INGEVEN\n"); printf ("---------------------------------------------------\n\n"); printf ("Geef de waarde in van a: "); scanf("%d",&a); printf ("Geef de waarde in van b: "); scanf("%d",&b); printf ("Geef de waarde in van c: "); scanf("%d",&c); abc (a, b, c); //waarden a, b en c }
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|