Zahlen vergleichen bzw. filtern



  • Hallo,
    ich arbeite mich gerade in C++ ein und möchte derzeit folgendes lösen:
    Ich gebe eine Zahl ein und das Programm soll eine bestimmte Zahl erkennen und eine Ausgabe erstellen. Erstmal kein Problem, es klappt z.B. mit

    if (x==5)
    cout << "stimmt überein!";
    else...
    

    Also es wird erkannt wenn die Zahl 5 ist. Aber wie mache ich das bei größeren Zahlen? Zum Beispiel: x=354; Wie kann C++ erkennen, dass da auch eine 5 enthalten ist?

    Danke!

    Gruß,
    Chris



  • [...]

    /edit pumuckl: gelöscht. Nächstemal einen anderen Ton bitte.



  • C++Newbie schrieb:

    Also es wird erkannt wenn die Zahl 5 ist. Aber wie mache ich das bei größeren Zahlen? Zum Beispiel: x=354; Wie kann C++ erkennen, dass da auch eine 5 enthalten ist?

    Möchtest du Zahlen erkennen oder Ziffern? Du schreibst zwar von Zahlen, deine letzte Frage deutet aber eher auf Ziffern hin.

    Für die Ziffern-Problematik ist die Lösung etwas komplexer als ein einfacher Vergleich: Zerlege deine Zahl in ihre Ziffern und schaue ob eine davon passt. Das Zerlegen kann mit dem Modulo-Operator und Integerdivision erreicht werden. Es bietet sich an, die Überprüfung in eine Funktion auszulagern (wenn du schon so weit bist). Die Themen Modulo, Division, Funktion sollten relativ früh im Einsteigerbuch deiner Wahl behandelt werden.



  • pumuckl schrieb:

    Möchtest du Zahlen erkennen oder Ziffern? Du schreibst zwar von Zahlen, deine letzte Frage deutet aber eher auf Ziffern hin.

    Für die Ziffern-Problematik ist die Lösung etwas komplexer als ein einfacher Vergleich: Zerlege deine Zahl in ihre Ziffern und schaue ob eine davon passt. Das Zerlegen kann mit dem Modulo-Operator und Integerdivision erreicht werden.

    Danke für die schnelle Antwort!
    Sorry, da habe ich mich ungenau ausgedrückt, ich meinte Ziffern.
    Mit dem Modulo-Operator habe ich schon was gemacht, das sollte ich dann wohl hinbekommen. Ich probiere es mal so!



  • Wenn du nur prüfen willst, ob eine der Ziffern eine fünf ist kannst du die Zahl in einen string konvertieren und dann gucken, ob '5' in diesem string enthalten ist.


Anmelden zum Antworten