Integerzahl nach vorkommen absuchen...
-
akari schrieb:
Hallo
Also ich weiß, entweder ist das ja zu einfach oder ich habs wieder falsch verstanden :
for (unsigned int i = 1;i<=100;i++) { if (i == 7) { // mach etwas } }
bis bald
akarinaja, und 87?? da is ja 7 auch drin!
-
camper schrieb:
in string umwandeln und dann nach der 7 suchen
#include <sstream> // ... int i=//... if(static_cast<std::stringstream&>(std::stringstream()<<i).str().find('7')!=std::string::npos)//...
ich glaube mal, mein ist fuer den anfaenger einfacher zu verstehen , und hat sich nach der FAQ gerichtet!
-
Hallo
okay, dann nimm wie bereits gesagt std::string als Zwischenspeicher. Dafür hast du ja jetzt mehrere Lösungen.
bis bald
akari
-
akari schrieb:
Hallo
okay, dann nimm wie bereits gesagt std::string als Zwischenspeicher. Dafür hast du ja jetzt mehrere Lösungen.
bis bald
akariund welche ist anfängerfreundlicher? *kindergartenspielchen*
Hmm...mir fällt aber auch grad keine lösung für ints ein ohne irgendein cast oder so....
-
5er1al(ausgeloggt) schrieb:
ich glaube mal, mein ist fuer den anfaenger einfacher zu verstehen , und hat sich nach der FAQ gerichtet!
meins sollte auch nicht zu ernst genommen werden - ist ja klar, dass hier auch bessere lösungen angeboten werden
es geht im übrigen auch ganz ohne strings:
bool has7(int i) { while ( i ) { if ( i % 10 == 7 ) return true; i /= 10; } return false; }
-
5er1al schrieb:
Hmm...mir fällt aber auch grad keine lösung für ints ein ohne irgendein cast oder so....
Man könnte noch selber die einzelnen Stellen durch Division und Modulo durch 10 abfragen und auf 7 prüfen.
/Edit : zu spät
bis bald
akari
-
jo daran hatte ich überhaupt nicht gedacht....
-
camper schrieb:
5er1al(ausgeloggt) schrieb:
ich glaube mal, mein ist fuer den anfaenger einfacher zu verstehen , und hat sich nach der FAQ gerichtet!
meins sollte auch nicht zu ernst genommen werden - ist ja klar, dass hier auch bessere lösungen angeboten werden
es geht im übrigen auch ganz ohne strings:
bool has7(int i) { while ( i ) { if ( i % 10 == 7 ) return true; i /= 10; } return false; }
funktioniert das auch bei zahlen 70-71??
bin ich mir grad nich ganz sicher...
-
ich meine 70-79
shice ausgeloggt sein
-
Hallo
Ja, es geht für alle Stellen, wegen dem while.
bis bald
akari
-
bool find(int zahl,unsigned int suchzahl){ //wenn die zahl negativ ist, positiv machen if(zahl<0)zahl*=-1; //test auf 0 if(zahl==0&&suchzahl==0){ return true; } //normaler test while(zahl!=0){ int stelle=zahl%10;//letzte stelle raussuchen if(stelle==suchzahl) return true; zahl/=10;//letzte stelle löschen } return false; }