Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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.

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.