CBR600 Geschrieben 2. Juni 2005 Geschrieben 2. Juni 2005 Hallo, Folgende Aufgabenstellung: Ich soll z.B. eine zahl mittels eines Zählers hoch zählen lassen und dann überprüfen lassen ob diese Zahlen eine vorher eingegeben Zahl enthält. z.B eingeben Zahl = 3 Also müsste z.b. die 3, die 13, die 23, die 30,31,32 usw ausgegeben werden. Hat da jemand eine Idee wie ich das überprüfen kann ??? gruß matze Zitieren
geloescht_Newlukai Geschrieben 2. Juni 2005 Geschrieben 2. Juni 2005 Ist zwar eher ein Thema fürr das Algorithmik-Forum, aber egal: Du mußt also die verschiedenen 10er-Potenzen einer Zahl auf ihren Wert prüfen. Will heißen, Du iterierst über die Potenzen, teilst die Zahl durch die aktuelle Potenz und läßt Dir den Wert mit dem Modulo geben. Müßte klappen. Also sowas: Stelle = Zahl / Potenz StellenWert = Stelle mod 10 StellenWert == ZuPrüfendeZahl? Zitieren
Guybrush Threepwood Geschrieben 2. Juni 2005 Geschrieben 2. Juni 2005 Oder du wandelst die Zahl in einen String um und suchst nach dem Zeichen. Zitieren
tuxfriend Geschrieben 3. Juni 2005 Geschrieben 3. Juni 2005 eine Möglichkeit: bool hasdigit(int inzahl, inziffer) { int zahl = inzahl; while zahl>0 { int akt; akt = zahl % 10; if (akt == infziffer) return true; else zahl = (zahl-akt)/10; } return false } Ist ungetesteter C++ Code (hab hier gerade keinen Compiler). zahl % 10 liefert dir den Rest einer Division durch 10 und somit die letzte Stelle eines beliebigen ganzen Zahl. Diese kannst du dann prüfen. Durch subtrakion des Restes erhälst du eine Zahl, die durch 10 teilbar ist. Diese division schneidet genau eine Stelle ab und du kannst mit der nächsten weitermachen. hth gruß nils Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.