Tach erst mal!
Ich habe folgendes Problem: Ich soll ein Programm zur Berechnung der Determinante einer 2x2 bzw 3x3 Matrix schreiben. Die Spezifikationen für Eingabe, Ausgabe und Fehlerbehandlung sind dabei folgende:
Eingabedaten:
Lesen Sie zuerst die Dimension der Matrix ein; diese darf nur 2 oder 3 sein.
Danach werden die Elemente der Matrizen eingelesen, und zwar in der Reihenfolge a11, ... , a1n, a21, ... , .... , ann.
Die einzelnen Elemente der Matrix sind vom Typ INTEGER.
Ausgabedaten:
Bei korrekten Eingabedaten geben Sie die Determinante der Matrix, gefolgt von einem Zeilenvorschub, aus.
Fehlerbehandlung:
Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.
Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.
Sind die Datentypen bei allen Eingaben richtig, die eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen (z.B. Dimension>3 oder zuwenige, bzw. zuviele Datensätze für die Matrix), so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.
Nun habe ich kein Problem damit das Programm an sich zu schreiben. D.h. es rechnet die Determinanten richtig aus, unterscheidet zwischen Rang 2 und Rang 3 und gibt alle Fehlermeldungen aus....bis auf eine:
Gebe ich die Elemente der Matrizen (im bereits ausführenden Programm selbstverständlich) in einer Zeile ein (d.h. getrennt durch ein Leerzeichen und nicht durch Betätitgen der ENTER-Taste), so gibt mir mein Programm keine Fehlermeldung, wie es sollte, sondern rechnet einfach mit den ersten Elementen und ignoriert die nicht benötigten schlicht.
Ich muss es also irgendwie bewerkstelligen die Anzahl der Input-Variablen zu limitieren bzw. bei zu vielen eine Fehlermeldung erzeugen und habe keine Ahnung wie ich das anstellen soll.
Wäre mehr als froh wenn mir da jemand weiterhelfen könnte, sitze nämlich schon eine ganze Weile daran und komme nicht weiter.
Danke!
P.S.: Ich hoffe doch die Infos waren ausreichend um das Problem zu erkennen.
Ich habe folgendes Problem: Ich soll ein Programm zur Berechnung der Determinante einer 2x2 bzw 3x3 Matrix schreiben. Die Spezifikationen für Eingabe, Ausgabe und Fehlerbehandlung sind dabei folgende:
Eingabedaten:
Lesen Sie zuerst die Dimension der Matrix ein; diese darf nur 2 oder 3 sein.
Danach werden die Elemente der Matrizen eingelesen, und zwar in der Reihenfolge a11, ... , a1n, a21, ... , .... , ann.
Die einzelnen Elemente der Matrix sind vom Typ INTEGER.
Ausgabedaten:
Bei korrekten Eingabedaten geben Sie die Determinante der Matrix, gefolgt von einem Zeilenvorschub, aus.
Fehlerbehandlung:
Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.
Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.
Sind die Datentypen bei allen Eingaben richtig, die eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen (z.B. Dimension>3 oder zuwenige, bzw. zuviele Datensätze für die Matrix), so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.
Nun habe ich kein Problem damit das Programm an sich zu schreiben. D.h. es rechnet die Determinanten richtig aus, unterscheidet zwischen Rang 2 und Rang 3 und gibt alle Fehlermeldungen aus....bis auf eine:
Gebe ich die Elemente der Matrizen (im bereits ausführenden Programm selbstverständlich) in einer Zeile ein (d.h. getrennt durch ein Leerzeichen und nicht durch Betätitgen der ENTER-Taste), so gibt mir mein Programm keine Fehlermeldung, wie es sollte, sondern rechnet einfach mit den ersten Elementen und ignoriert die nicht benötigten schlicht.
Ich muss es also irgendwie bewerkstelligen die Anzahl der Input-Variablen zu limitieren bzw. bei zu vielen eine Fehlermeldung erzeugen und habe keine Ahnung wie ich das anstellen soll.
Wäre mehr als froh wenn mir da jemand weiterhelfen könnte, sitze nämlich schon eine ganze Weile daran und komme nicht weiter.
Danke!
P.S.: Ich hoffe doch die Infos waren ausreichend um das Problem zu erkennen.