Nullstellen quadratischer Gleichung



  • hallo, ich habe ein echtes Problem, ich habe keine Ahnung, wie man in C programmiert und brauche dringendst ein Programm, was die Nullstellen der quadratischen Gleichung ax2+bx+c berechnet. hat da vielleicht schon[h] jemand ein funktionierendes? Ich bin eigentlich nicht faul oder so, aber in der kurzen Zeit, die ich habe, ist es unmöglich C zu lernen... Wäre echt nett.





  • danke erstmal für den link. Ich hab es auch schon mit googeln versucht, allerdings ist in keinem der programme das a von dem ax2 beachtet wurden, was ja stark auf das ergebnis einwirkt... bei dem 2. link von deinme googleergebnis kann ich das programm leider nicht öffnen, aber bei allen anderen ist halt auch wieder das a-problem...



  • wie wärs, das schriftlich zu machen, wenn du nur die gleichung lösen sollst?
    wikipedia gibt dir die allgemeine formel für ax^2



  • wenns so leicht wäre, würde ich es ja machen, muss es aber in c schreiben...



  • ja dann fang doch mal an!
    a, b und c kannste ja schon mal einlesen, oder nicht?
    du fängst mit dem code an und wir helfen dir, wenn du nicht weiter kommst.
    aber bitte poste den code, damit wir sehen, dass du dich bemühst.



  • da du ja sooo verzweifelt bist hier der code:

    #include <stdio.h>
    #include <math.h>
    
    double
    lese_parameter (char *parameter_name)
    {
      int    ergebnis;
      double parameter;
    
      for(;;)
      {
        printf("%s: ",parameter_name); fflush(stdout);
    
        ergebnis=scanf("%lf",&parameter); fflush(stdin);
        if(ergebnis) return parameter;
    
        puts("***Fehler: die Eingabe muß eine Fließkommazahl sein!");
      }
    }
    
    int
    berechne_nullstellen (double a, double b, double c, double *n1p, double *n2p)
    {
      double determinante,temp;
    
      temp=-b/(2*a);
      determinante=temp*temp-c/a;
    
      if(determinante<0.0) return 0;
    
      determinante=sqrt(determinante);
      *n1p=temp+determinante;
      *n2p=temp-determinante;
    
      return 1;
    }
    
    int
    main(int argc, char **argv)
    {
      double a,b,c,n1,n2;
    
      puts(
        "***********************************************************************\n"
        "***                                                                 ***\n"
        "***    Berechne reelle Nullstellen fuer quadratische Gleichungen    ***\n"
        "***                                                                 ***\n"
        "***********************************************************************\n"
        "\n"
        "Die Gleichung hat die Form  ax^2+bx+c=0\n"
        "                            ===========\n");
    
      for(;;)
      {
        a=lese_parameter("a");
        if(a!=0.0) break;
        puts("***Fehler: Der Parameter a darf nicht 0 sein!");
      }
    
      b=lese_parameter("b");
      c=lese_parameter("c");
    
      if(berechne_nullstellen(a,b,c,&n1,&n2))
        printf("Die Nullstellen sind %f und %f\n",n1,n2);
      else
        puts("Die Gleichung hat keine reellen Nullstellen!");
    }
    

    getestet mit visual müllhaufen. kann also für nichts garantieren 🤡



  • wollte mich noch bedanken, ist ein super programm und ich verstehe es sogar (nachedem ich kleinigkeiten nachgeschaut habe)!


Anmelden zum Antworten