1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

lineare Gleichungen - zwei Unbekannten

  • bendigo
  • 18. Dezember 2011 um 16:46
  • Unerledigt
  • bendigo
    1
    bendigo
    Mitglied
    Punkte
    10
    Beiträge
    1
    • 18. Dezember 2011 um 16:46
    • #1

    hallo

    ich sollte für meine Prüfung folgendes können (bin noch ein C++ Anfänger und mein Mathe ist auch nicht das beste ... somit hoffe ich auf etwas Unterstützung von euch ) :

    Erstellen Sie ein C++ Programm, das einfache lineare Gleichungen mit zwei
    Unbekannten (x,y) lösen kann. Eine Gleichung besteht aus zwei Termen, und die
    Werte für die Koeffizienten und Konstanten der Terme sollen vom Benutzer
    eingegeben werden. Beschränken Sie sich beim Ermitteln der Werte für x und y auf
    positive ganze Zahlen, die kleiner als 100 sind. Wenn Ihr Programm keine Lösung im
    geforderten Wertebereich findet, soll die Meldung 'Keine Lösung im Wertebereich 1..100' ausgegeben werden.

    Als Beispiel:
    Eingabe:
    Term1 xKoeffizient: 1
    Term1 yKoeffizient: 2
    Term1 Konstante: 5
    Term2 xKoeffizient: 2
    Term2 yKoeffizient: 3
    Term2 Konstante: 4
    Term1 wäre in diesem Fall x + 2y = 5
    Term2 ware 2x – 3y = 4
    Ausgabe:
    Lösung: x=1 y=2


    .... soviel zur Angabe ... jetzt habe ich mir diverse Videos über Gauß-Algorithmus und Lineare Gleichungssystem angeschaut. ( http://www.youtube.com/watch?v=DNSB9PwzwM8 ,....)

    soweit so gut .. ich versteh jetzt wie man es lösen kann (bzw. ungefähr) ... hätte mir jemand hier noch weitere gute Quellen, damit ich mein angführtes Beispiel lösen kann?

    gruss
    pascal

  • Schakal
    9
    Schakal
    Mitglied
    Reaktionen
    5
    Punkte
    780
    Beiträge
    152
    • 18. Dezember 2011 um 17:34
    • #2

    Da du ein sehr einfaches Gleichungssystem hast, ist der Gauß-Alg. ein Overkill, wenn nicht gefordert. Ich würde dir raten mit Rationalen Zahlen zu rechnen. Dann brauchst du aber eine eigene Klasse oder du machst dies nicht generisch im Code. Dann addierst einfach -kx1/kx2*(kx2*x+ky2*y) = -kx1/kx2*k2 auf die erste Gleichung drauf. Dadurch ist kx1=0 jetzt und wenn der neue Koeffizient ky1 jetzt 0 ist, ist die Gleichung nicht eindeutig lösbar (unendlich viele Lösungen in diesem Fall). Sonst brauchst du nur die Konstante 1 nur noch durch k1yneu dividieren und hast deine Lösung für y.

    Dann deine Ergebnisse auf Ganzzahlig etc. überprüfen.

    Eingabe/Ausgabe entweder durch fread/freadline/fprintf oder cin/cout (<-- Einfacher).

  • 2#4u
    5
    2#4u
    Mitglied
    Reaktionen
    8
    Punkte
    248
    Beiträge
    46
    • 19. Dezember 2011 um 09:34
    • #3

    Du kannst auch ohne mathematischem Verständnis das Problem lösen.

    Nachdem ihr mit ganzen Zahlen arbeitet und das nur in einem Bereich unter 100, ist der Bereich so klein, dass du einfach alle Kombinationen durchprobierst... Dann sind wir bei 100*100 Möglichkeiten und irgendwann hast du ein x und ein y, das beide Gleichungen erfüllt -> Fertig.
    Oder du findest kein x,y in dem Bereich, dann ist es nicht lösbar.

    Ich denke die Angabe ist bewußt so einfach gehalten, dass diese Möglichkeit offen bleibt.

    Stefan Spelitz
    [Computergraphik UE Tutor 2017SS]

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Tags

  • gauß-algorithmus
  • lineare gleichungen

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern