AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Im Text nach Zeichen suchen und die dann zählen - aber wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Im Text nach Zeichen suchen und die dann zählen - aber wie?

Ein Thema von plam · begonnen am 29. Jun 2006 · letzter Beitrag vom 11. Dez 2006
Antwort Antwort
Seite 1 von 3  1 23      
plam

Registriert seit: 29. Jun 2006
8 Beiträge
 
#1

Im Text nach Zeichen suchen und die dann zählen - aber wie?

  Alt 29. Jun 2006, 12:15
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! (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.)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 12:23
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
plam

Registriert seit: 29. Jun 2006
8 Beiträge
 
#3

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 12:38
Danke erstmal, Suche hab ich schon ausprobiert, da ist nicht so richtig das dabei was ich such. : D Höchstens vielleicht das hier, aber das versteh ich nichtwirklich. (Wie gesagt, ich bin 'ne Null in sowas.)

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? 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.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 12:46
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#5

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 12:47
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.
  Mit Zitat antworten Zitat
plam

Registriert seit: 29. Jun 2006
8 Beiträge
 
#6

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 13:08
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. ) 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?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 13:11
Zitat von plam:
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?
Yepp. Z.B.:
Delphi-Quellcode:
...

for I := 1 to Length(EingabeString) do
  if (EingabeString[I] = 'a') or (EingabeString[I] = 'A') then
    Treffer = Treffer + 1;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
plam

Registriert seit: 29. Jun 2006
8 Beiträge
 
#8

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 13:19
Was ist "I" und was hat es mit der 1 auf sich? Ist das der Startwert oder hat das was mit ASCII zu tun?
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#9

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 13:21
Schau dir das mal an: http://dsdt.info/grundlagen/sprache/schleifen.php

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.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Im Text nach Zeichen suchen und die dann zählen - aber w

  Alt 29. Jun 2006, 13:21
Zitat von plam:
Was ist "I" und was hat es mit der 1 auf sich? Ist das der Startwert oder hat das was mit ASCII zu tun?
I ist eine Integervariabel. Jeder String hat eine Länge X welche mit Length(EingabeString) ermittelt wird, also geht die Schleife von Zeichen 1 bis zum Stringende durch und vergleicht jedes Zeichen mit a und A. Bei Erfolg wird die Integervariable Treffer um eins erhöht.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz