login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > Overige > C en C++ > C - Nulpunten berekenen

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:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. //DISCRIMINANT functie -- Berekent de discriminant
  6. int discriminant(int a, int b, int c)
  7. {
  8. int discriminant;
  9.  
  10. discriminant = b*b - 4*a*c;
  11. printf ("D = b*b - 4ac = %d * %d - 4 * %d * %d = %d\n", b, b, a, c, discriminant);
  12. return discriminant;
  13.  
  14. }
  15.  
  16. //ABC functie -- Berekent de nulpunten
  17. void abc(int a, int b, int c)
  18. {
  19.  
  20. printf ("DISCRIMINANT BEREKENEN\n");
  21. printf ("---------------------------------------------------\n\n");
  22.  
  23. int disc, vierkantswortel, X, Y;
  24.  
  25. disc = discriminant(a, b, c);
  26.  
  27. printf ("De discriminant is %d\n\n", disc);
  28.  
  29. if (disc > 0)
  30. {
  31. printf ("\n\n\n\n");
  32. printf ("Discriminant is groter dan 0\n\n");
  33. vierkantswortel = sqrt((float) disc);
  34.  
  35. X = (-b + vierkantswortel) / 2*a;
  36. Y = (-b - vierkantswortel) / 2*a;
  37.  
  38. printf ("\n\n\n\n");
  39. printf ("NULPUNTEN BEREKENEN\n");
  40. printf ("---------------------------------------------------\n\n");
  41.  
  42. printf ("We berekenen de nulpunten x en y:\n\n");
  43. printf ("X = (-b + sqrt(discriminant)) / 2*a = (%d + sqrt(%d)) / 2*%d = %d\n", -b, disc, a, X);
  44. printf ("Y = (-b - sqrt(discriminant)) / 2*a = (%d - sqrt(%d)) / 2*%d = %d\n\n", -b, disc, a, Y);
  45.  
  46. printf ("De twee nulpunten zijn %d en %d\n\n", X, Y);
  47.  
  48.  
  49. }
  50.  
  51. if (disc < 0) {
  52.  
  53. printf ("Discriminant is kleiner dan 0\n\n");
  54. printf ("\n\n\n\n");
  55. printf ("NULPUNTEN BEREKENEN\n");
  56. printf ("---------------------------------------------------\n\n");
  57. printf ("Er zijn geen nulpunten\n\n");
  58.  
  59. }
  60.  
  61. if (disc == 0) {
  62.  
  63. X = -b / 2*a;
  64.  
  65. printf ("Discriminant is gelijk aan 0\n\n");
  66. printf ("\n\n\n\n");
  67. printf ("NULPUNTEN BEREKENEN\n");
  68. printf ("---------------------------------------------------\n\n");
  69.  
  70. printf ("Nulpunt1 is gelijk aan Nulpunt2\n\n");
  71. printf ("X = Y = -b/2a = %d/2*%d = %d\n\n", -b, a, X);
  72.  
  73. }
  74.  
  75. }
  76.  
  77. //Main -- Waarden a, b en C worden ingegeven en nulpunten worden berekend.
  78. void main(void)
  79. {
  80.  
  81. int a, b, c;
  82. printf ("WAARDEN A, B en C INGEVEN\n");
  83. printf ("---------------------------------------------------\n\n");
  84.  
  85. printf ("Geef de waarde in van a: ");
  86. scanf("%d",&a);
  87.  
  88. printf ("Geef de waarde in van b: ");
  89. scanf("%d",&b);
  90.  
  91. printf ("Geef de waarde in van c: ");
  92. scanf("%d",&c);
  93. printf ("\n\n\n\n");
  94.  
  95. abc (a, b, c); //waarden a, b en c
  96.  
  97. }
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (4)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.03s