spike78 Geschrieben 19. August 2005 Geschrieben 19. August 2005 Hallo zusammen, ich bräuchte mal wieder etwas Hilfe. Wie kann ich in c++ überprüfen, ob eine Zahl in einer anderen enthalten ist. Beispiel: Zahl1:7 Zahl2:247 Ich würde gerne prüfen ob die 7 in der 247 enthalten ist. Gruß Michael Zitieren
jasso Geschrieben 19. August 2005 Geschrieben 19. August 2005 meine c-zeit is zwar scho ne weile her, aber gabs nicht mal sowas wie itoa (zum umwandeln von zahlen in strings) und instr (um in nem string einen anderen zu suchen)? musst mal die msdn bemühen. lg jasso Zitieren
Klotzkopp Geschrieben 19. August 2005 Geschrieben 19. August 2005 Da das, was du "enthalten" nennst, keine direkte Eigenschaft der Werte der Zahlen ist, sondern vor der Darstellung in einem bestimmten Zahlensystem (in diesem Fall das Dezimalsystem) abhängt, ist die Umwandlung in einen String mit der dezimalen Schreibweise der Zahlen (wie jasso schon sagte) die einfachste Möglichkeit, das zu prüfen. Solange die enthaltene Zahl nur eine Ziffer hat, könntest du auch die zu durchsuchende Zahl durch wiederholte Division durch 10 und Prüfung des Rests abarbeiten. Aber was ist nach deiner Definition von "Enthalten" mit diesen Fällen? Ist 22 in 212 enthalten? Ist 23 in 32 enthalten? Falls ja, muss man wieder anders vorgehen. Dann müsstest du zuerst exakt erklären, was du mit "Enthalten" meinst. Zitieren
-Robby- Geschrieben 21. August 2005 Geschrieben 21. August 2005 Hallo, vielleicht solltes du ein weniger genauer sagen was du vor hast. Ich würde sie wohl auch in Strings umwandeln. Schau dir doch hierzu mal die <string> und <sstream> aus der Standardbibliothek an. Hab jetzt auf die schnelle mal was getippelt, müsste hinhauen, habe aber keine Möglichkeit zum testen hier im Moment. Vielleicht hilft es dir ja. #include <iostream> #include <sstream> //zum Umwandeln benötigt, ostringstream #include <string> //String-Funktionen using namespace std; //der bequemlichkeit jetzt schnell wegen int main () { int zahl1=1,zahl2=247,n; // Variablen deklarieren string str1,str2; ostringstream outStream1,outStream2; outStream1 << zahl1; // aus sstream, zahl1 in outStream1 str1=outStream1.str(); // outStream1 in str1 auslesen outStream2 << zahl2; str2=outStream2.str(); n=str2.find(str1); // in str2 nach str1 suchen if (n>=0) cout << "Die " << zahl1 << " ist in " << zahl2 << " enthalten!" << endl; else cout << "Die " << zahl1 << " ist in " << zahl2 << " nicht enthalten!" << endl; return 0; } Ansonsten sag doch einfach mal was du genau suchst. Gruß Robby 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.