![]() |
Im Text nach Zeichen suchen und die dann zählen - aber wie?
Hallo erstmal, ihr lieben. Aaalso. Ich soll in Info 'nen Vortrag über besagtes Thema halten, hab aber keinen Plan von garnichts. Ich verlang jetzt nicht, dass ihr mir den Vortrag ausarbeitet, dass kann ich schon allein, haha, aber ich brauch einfach nurnmal fix jemanden, der mich mal in die richtige Richtung weist.
Ich bin jetzt inzwischen beim Knuth-Morris-Pratt-Algorithmus und auch beim Boyer-Moore-Algorithmus angekommen, allerdings suchen die ja nach Wörtern und niucht nach einzelnen Zeichen und mein Lehrer will aber, dass ich irgendwie nur rauskrieg, wieviele as oder bs oder cs oder was auch immer in einem Text sind. Ich hab ja die Vermutung, dass das mit den genannten Algotithmen trotzdem geht, aber dann kommt mir das a) ziemlich sinnlos vor (dann hab ja 'a' als Pattern und ratter das durch und dann hat sich's oder wie oder was) und b) steh ich immernoch vor dem Problem mit dem Zählen. Wir hatten das so noch nicht in Info. Wir sortieren immer nur. Macht mich glücklich und helft mir! :warn: (Hüstel. Nein ernsthaft, ich muss den Vortrag morgen halten und fang mal wieder urst zeitig an. Vielleicht lass ich morgen meine Üebrredungskünste und meinen weiblichen Charme spielen und überzeug den Lehrer davon, mir noch 'ne Woche Galgenfrist zu geben. Aber so ganz ohne irgendeine Vorbereitung will ich da nicht aufkreuzen. Ihr seid also praktisch meine letzte Hoffnung, oder so.) |
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
du brauchst einfach nur alle zeichen einzeln durchgehen.
Wenn du insgesamt also 500 zeischen hast musst du alle 500 zeischen nacheinander prüfen. Also einfach eine Schleife nehmen. Dann musst du bei jedem Zeischen überprüfen: Ist es ein "A" dann vermerken das man ein a gefunden hat, beim nächsten a vermerken das man 2 "A" gefunden hat etc. Letzter Tipp wäre noch die Suche, auch andere hatten schon solche Aufgaben. |
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
Danke erstmal, Suche hab ich schon ausprobiert, da ist nicht so richtig das dabei was ich such. : D Höchstens vielleicht
![]() Und wir erkläre ich denen das dann am besten? Ich soll ja mindestens fünf Minuten reden (Kurzvortrag halt). Gibt's da nicht irgend 'nen Algorithmus für? :roteyes: Sonst gibt's doch auch immer für alles Algorithmen. XD (Ja ich weiß, an sich sind das alles Algorithmen. Ich mein nur halt Solche Algorithmen, die nach irgendwelchen brühmten Damen und Herren nenannt sind und die einem im I-net lang und breit erklärt werden können.) Der Herr L. will das glaub ich so, dass ich irgend 'nen Satz an die Tafel schreib und das dann am Beispiel erklär oder so. Ich hätte ihn ja auch nochmal gefragt, aber der war heute weg. Ich kenn ja jemanden der Info studiert hat, den würd ich ja auch fragen, aber den seh ich erst Montag wieder. Ich krieg Panik. Himmel. Nächstes mal fang ich eher an. |
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
Die Aufgabe ist so einfach (jetzt nichts gegen Leute die das anders sehen) das es Frevel wäre wenn jemand diesem Algorytmus seinen Namen aufdrücken würde.
Die solltest an das ganze so rangehen als ob du es nicht programmiertechnich machen müsstest sondern auf einem Blatt papier - da bekommst du es ja auch hinn die Buchstaben zu zählen. Und da gehst du ja auch von vorn der reihe nach die buchstaben durch, und wenn ein gesuchter Buchstabe auftaucht zählst du dazu. |
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
Für sowas gibts bestimmt keinen berühmten Algorithmus.
Überleg doch einfach, wie du es selber machen würdest. Ich vermute mal du würdest einfach jeden Buchstaben des Satzes durchgehen und überprüfen, ob es der gesuchte Buchstabe ist. Ist er es, so addierst du zu der bereits gefundenen Anzahl '1'. Das ist so tivial, dass man da nicht viel zu sagen muss. Implementiert sieht das dann so aus: Eine Schleife geht jeden Char des Strings der den Satz enthält durch und vergleicht an jeder Stelle mit dem gesuchten char. Und wenn es der gesuchte ist, dann erhöhst du eine Interger-Variable um 1. Das kannst du bestimmt umsetzen. :) |
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
Achso, also mach ich jetzt in Delphi einfach irgendwie zwei Edit-Felder und 'n Label oder so, tipp in das eine Editdings meinen Text und in das andere den gesuchten Buchstaben Buchstaben rein der dann meinetwegen als x bezeichnet wird und dann setz ich n (anzahl) auf 0 und jedesmal wenn ein Buchstabe dazukommt n+1. Ist klar. (Ich weiß ich stell mich blöd an, aber ich versteh's wirklich nicht. :oops: ) Aber wie genau such ich dann nach den Buchstaben in dem String? Haben die dann irgendwelche Nummern oder wie oder was? (Irgendwie muss der ja vorwärtskommen.)
Irks. Ich glaub ich brauch 'n Struktogram. Ich kann ja mal versuchen eins zu malen, aber... Ja. @TheAn00bis Ist mir 'n bisschen peinlich das zu fragen, aber kannst du mir das mit dem char Zeug mal bitte als Dings schreiben, also so wie's dann in 'nem Struktogramm aussehen würde? Vom Prinzip her ist das doch bestimmt so if [hier vermutlich das mit dem char?] = x, then do n+1. Nich? Oder muss ich dann noch so'n Überbegriff für diese ganzen "n"s haben, also als Ausgabe dann, weil... Das muss ja irgendwie zusammengefasst werden, oder? |
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
Zitat:
Delphi-Quellcode:
...:cat:...
...
for I := 1 to Length(EingabeString) do if (EingabeString[I] = 'a') or (EingabeString[I] = 'A') then Treffer = Treffer + 1; |
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
Was ist "I" und was hat es mit der 1 auf sich? Ist das der Startwert oder hat das was mit ASCII zu tun? :oops:
|
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
Schau dir das mal an:
![]() Edit: Zusätzlich solltest du vll noch wissen, dass length() dir die Länge eines Strings zurückgibt (wieviele Zeichen er enthält) und, dass ein String quasi ein Array of Char ist, dass bei 1 beginnt. |
Re: Im Text nach Zeichen suchen und die dann zählen - aber w
Zitat:
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz