[Hilfe] Suchen nach 10stelliger zahl in Text
-
Verdammt nochmal, geht das jetzt noch 20 Seiten so weiter?
-
Wurde für euch nicht schon mal eine Spielwiese eingerichtet? Zieht euch bitte dahin zurück.
Um auf das Problem des TE zurückzukommen, es gibt eine ganze Reihe von Algorithmen, die deutlich schneller als die Brechstangenmethode laufen. Der bekannteste ist vermutlich der Boyer-Moore-Algorithmus oder die Vereinfachung durch Horspool. Diese sind aber natürlich komplexer zu implementieren.
-
* gelöscht
-
Mir doch egal, wenn das mit dem Indikativ übereinstimmt. Das Problem dabei hab ich noch nie verstanden. Aus dem Kontext ist ersichtlich, dass ein Konjunktiv gemeint ist. Zumindest, wenn man ein wenig Hirn hat.
-
seldon schrieb:
der Boyer-Moore-Algorithmus oder die Vereinfachung durch Horspool.
Wenn schon, dann KMP. Den hat man übrigens, wenn man den GCC und strstr verwendet.
In diesem Fall brauchts aber gar kein Backtracking, da es nur Zahl oder Nichtzahl gibt.
OT @314159265358979: Dir würde ich das Hirn absprechen.
-
Mein IQ liegt mit 133 Punkten wohl deutlich über deinem. Also halt die Klappe, Unreg.
-
314159265358979 schrieb:
Mein IQ liegt mit 133 Punkten wohl deutlich über deinem. Also halt die Klappe, Unreg.
lol, du glaubst an IQ-Tests

Und dann bist du auch noch älter...
-
Du glaubst, ich hätte das von einem dieser billigen gratis-Internet-IQ-Tests. Falsch geraten. Und nun verzieh dich wieder in das Loch, aus dem du hergekommen bist.
-
Pi, geh bitte auf die Autobahn spielen, ja?
-
hustbaer, ich liebe dich. Lass uns heiraten, okay?
P.S.: Jemandem den Tod zu wünschen, ist unter deinem Niveau.
-
seldon schrieb:
Um auf das Problem des TE zurückzukommen, es gibt eine ganze Reihe von Algorithmen, die deutlich schneller als die Brechstangenmethode laufen. Der bekannteste ist vermutlich der Boyer-Moore-Algorithmus oder die Vereinfachung durch Horspool. Diese sind aber natürlich komplexer zu implementieren.
Wie bereits gesagt, musst du in einem binären Alphabet bei einem Muster wie "1111111111" exakt n vergleiche machen, wenn du alle Vorkommen des Musters in einem String mit Länge n finden willst. Im Grunde geht es darum nicht besser als der Algorithmus, den ich auf Seite 1 genannt habe(*). Allerdings kann man sich sicher noch um eine schöne Darstellung kümmern.
(*) mal davon abgesehen, dass man sich eventuell die letzten 9 Vergleiche sparen kann. Ich würde aber schätzen, dass diese Bedingung bei einem langen string wesentlich mehr Zeit kosten würde, als die 9 Vergleiche wirklich durchzuführen
//edit
Pi, geh auf der Autobahn mit 133 Autos spielen. (nein, ich hab kein Niveau um das ich mir sorgen machen müsste)
-
otze schrieb:
Pi, geh auf der Autobahn mit 133 Autos spielen. (nein, ich hab kein Niveau um das ich mir sorgen machen müsste)
Stimmt, du postest hier ja sowieso außer Konkurrenz.
-
314159265358979 schrieb:
hustbaer, ich liebe dich. Lass uns heiraten, okay?
Klar, Santa. Ich mag Sellerie auch nicht.
-
314159265358979 schrieb:
P.S.: Jemandem den Tod zu wünschen, ist unter deinem Niveau.
Ach, das ist aber schön dass du mich für niveauvoll hältst.
Lass dir mal neue Arten der indirekten Beleidigung einfallen.
"unter deinem Niveau", "von dir hätte ich mir mehr erwartet" etc. - das wird langsam alt.Im Übrigen kann ich das Kompliment nicht zurückgeben. Ich denke dass Threads wie dieser hier ganz genau dein Niveau widerspiegeln.
-
Ne, Threads wie diese spiegeln meine Stimmung wieder. Im übrigen ist mir gerade danach, aus dem Fenster zu springen, also lutsch meine Eier, leck' mich am Arsch, etc. etc.
-
Ist hier ein Mod der diesen Thread schließen könnte?

-
Dem Forum fehlen einfach die coolen Coder, nur noch Dummschwätzer da.
-

pyhax schrieb:
Ist hier ein Mod der diesen Thread schließen könnte?

-
fghfgh schrieb:
#include <iostream> #include <string> std::string getNumber(const std::string& str, std::size_t len); int main() { std::string str = "009asbdfap91234usdfha9sdfuasdfa9shf9876503864a98sdbf98abdasd"; std::cout << getNumber(str, 10); } std::string getNumber(const std::string& str, std::size_t len) { std::size_t newPos = 0, nextPos = 0; for (;(newPos = str.find_first_of("0123456789", newPos)) != std::string::npos && (nextPos = str.find_first_not_of("0123456789", newPos)) - newPos != len && nextPos != std::string::npos;++newPos); if (newPos != std::string::npos && nextPos != std::string::npos) return str.substr(newPos, nextPos - newPos); return ""; }Eine spontane Idee. :xmas1:
genau sowas suche ich danke jetzt noch eine kleine frage was ist wenn ich gleichzeitig wieder selbe Problem nur jetzt 10 und 11 stellige zahlen codes... wo gib ich das am besten an?
MFG
-
Zum Beispiel dort, wo jetzt die 10 steht?