Problem bei der "Mitternachtsformel"

Diskutiere Problem bei der "Mitternachtsformel" im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Hi ich will ein kleines Programm zur Übung schreiben, es soll mir die Lösungen der Mitternachtsformel berechnen...

  1. Aracon

    Aracon Routinier

    Dabei seit:
    12.10.2003
    Beiträge:
    438
    Zustimmungen:
    0
    Hi ich will ein kleines Programm zur Übung schreiben, es soll mir die Lösungen der Mitternachtsformel berechnen (http://de.wikipedia.org/wiki/Mitternachtsformel)

    Aber ab und an kommt nur Müll raus. Hier der Code:
    Code:
    #include	<iostream>
    #include	<string>
    #include	<cmath>
    using namespace std;
    
    float a,b,c;
    float x1, x2, *px1, *px2;
    bool temp;
    
    bool check(float a, float b, float c);
    float mitter(float a, float b, float c);
    int get();
    
    double hilf = sqrt(b*b - 4*a*c);
    
    int main()
    {
    	get();
    	check(a, b, c);
    	if(temp ==  0)
    	{	cout	<<	"Sorry es gibt keine Lösung!"	<<	endl;
    		return 0;
    	}
    	else
    		mitter(a, b, c);
    		cout	<<	"Die Lösungen sind:"	<<	endl	<< *px1	<< "und" <<	*px2	<<	endl;
    		return 0;
    }
    
    
    
    int get()
    {
    	cout	<<	"a:"	<<	endl;
    	cin	>> 	a;
    	cout	<<	"b:"	<<	endl;
    	cin	>>	b;
    	cout	<<	"c:"	<<	endl;
    	cin	>>	c;
    }
    
    bool check(float a, float b, float c)
    {
    	if(hilf*hilf < 0)
    		return temp = 0;
    	else
    		return temp = 1;
    }
    
    
    
    float mitter(float a, float b, float c)
    {
    	x1 =  ((-b + hilf) / (2*a));
    	x2 =  ((-b - hilf) / (2*a));
    	px1 = &x1;
    	px2 = &x2;
    } 
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Andrea

    Andrea Routinier

    Dabei seit:
    01.12.2003
    Beiträge:
    418
    Zustimmungen:
    0
    Ort:
    Bielefeld
    Hi,

    du hast 2 Fehler gemacht.

    1. Du hast hilf vor dem get berechnet, da sind aber alle Werte null. Daher kommt nix sinnvolles raus. Also vor main nur double hilf; und nach dem get() dann
    hilf = sqrt(b*b - 4*a*c);

    2. Wenn du die Wurzel aus einer negativen Zahl ziehst, ist das Ergebnis nicht kleiner null und hilf*hilf kann NIE null werden. An der Stelle nimmst du einfach noch ein hilf2 oder so, mit
    hilf2 = b*b - 4*a*c;
    auch nach dem get. Wenn du dann abfragst, ob hilf2 kleiner 0 ist (statt hilf*hilf) funktioniert es mit den Wiki-Beispielen bei mir.

    Das return temp=0 kannst du auch durch return 0 ersetzen und dafuer den Funktionsaufruf so machen
    temp = check(a, b, c);
    schliesslich soll deine Funktion ja ein bool zurueckgeben.

    Ich hoffe mal, jetzt klappt es!
     
Thema:

Problem bei der "Mitternachtsformel"

Die Seite wird geladen...

Problem bei der "Mitternachtsformel" - Ähnliche Themen

  1. Problem bei der installation einer Sun Netzwerkkarte

    Problem bei der installation einer Sun Netzwerkkarte: Guten Morgen zusammen, beim installieren einer zusätzlichen Netzwerkkarte habe ich ein Problem. Die Karte wird nicht automatisch installiert. Es...
  2. Problem bei der Vergabe von Sciherheitsinformationen auf eine Freiagbe

    Problem bei der Vergabe von Sciherheitsinformationen auf eine Freiagbe: Liebe Community, zurzeit arbeite ich an eine Active Directory Domäne die mittels Samba läuft. Dazu habe ich einen AD DC auf Debian 8.7 mit Samba...
  3. Netzwerkproblem ? , wo ud wie suchen

    Netzwerkproblem ? , wo ud wie suchen: Hallo Folgende Problem: Testserver ist i686 Debian-unstable , auf dem läuft primär der apt-proxy apt-cahcer ng. Zugriff im Moment nur per ssh....
  4. Verständnisproblem Samba / LDAP

    Verständnisproblem Samba / LDAP: Hallo zusammen! Ich habe unter Ubuntu 16.04 einen LDAP und Samba Server aufgesetzt. Diese scheinen auch ordnungsgemäß zu funktionieren, sodaß ich...
  5. nginx+php-fpm problem

    nginx+php-fpm problem: Moin, ich hab hier gerade ein Problem und keine Idee mehr woran es liegt. Ich muss wie schon in der Überschrift erwähnt nginx dazu bringen php...