Autor Beitrag
Philipp_Frank
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Fr 28.02.03 15:26 
Hi, weiß jemand, wie man die mittlere Wortlänge eines textes aus memo1 bestimmt und ausgibt. Habe das in der schule und brauchte Hilfe.

Gruß Philipp :D
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: Fr 28.02.03 15:29 
Mit Pos, Copy und Length solltest du weiterkommen. :)
Philipp_Frank Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Fr 28.02.03 15:39 
Titel: s
Du, das agt mir jetzt nicht viel, hilfreicher wäre es in code, wenns geht. Muss das Montag abgeben und habe jetzt nur noch zwei Stunden heut am Schulpc und at home kein delphi.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 28.02.03 20:13 
Bestimme dir mit length jede Wortlänge, addiere alles auf und teile dies durch die Anzahl der Worte.

Das größte Problem dürfte sein zu unterscheiden, was ein Wort ist.
webmaker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 205



BeitragVerfasst: Sa 01.03.03 13:14 
würde das auch mit POS, Copy und Length machen, erstmal mit Pos die Zeichen, die bis zum ersten Leerzeichen gehen herausfindne, dann rauskopieren und aus dem alten String löschen, mit Length Länge prüfen, dann wieder von neuen...Das ganze natürlich in eine Schleife

_________________
.::Wissen ist Macht, nichts wissen macht nichts::.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 01.03.03 14:56 
ohne Copy geht's auch:
Position des ersten Leerzeichens bestimmen (Pos). Wert speichern (gleichzeitig Länge des ersten Wortes). Nächstes Leerzeichen suchen. Diese Position von der ersten abziehen (zweites Wort). Drittes Leerzeichen suchen. Wert weider vom letzten Leerzeichen abziehen usw. Evtl alle Werte um eins minimieren, da ja das Leerzeichen nicht mitgezählt werden soll. Triffst du auf zwei Leerzeichen hintereinander (also ist die Differenz des aktuellen Leerzeichens und des vorherigen nur 1), dann erhöhst du den Counter nicht.



@Luckie: Wieso ist das ein Problem? Per Definition ist ein Wort eine Teil einer Zeichenkette, der links und rechts durch Leerzeichen getrennt ist. Also fängt bei jedem Leerzeichen ein neues Wort an. Ausnahmen sind mehrfache Leerzeichen, die man vorher rausfiltern muss.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Sa 01.03.03 15:29 
tommie-lie hat folgendes geschrieben:
@Luckie: Wieso ist das ein Problem? Per Definition ist ein Wort eine Teil einer Zeichenkette, der links und rechts durch Leerzeichen getrennt ist. Also fängt bei jedem Leerzeichen ein neues Wort an. Ausnahmen sind mehrfache Leerzeichen, die man vorher rausfiltern muss.
Und was ist mit solchen Wörtern:
Zitat:
er mag, dass..
Zitat:
Spielt er heute?
Dafür gibt es noch mehrere Beispiele. Dashalb kann man sich nicht darauf verlassen, dass ein Wort durch 2 Leerzeilen abgetrennt ist. Du muss also Satzzeichen beachten und dann wird das ganze etwas komplexer.
Achja Philipp Frank, wie lange hast du den schon Informatik in der Schule, dass du solch eine anspruchsvolle Aufgabe bekommst?

Gruß wulfskin!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 01.03.03 18:04 
stimmt, aber das Problem wurde in keinem hier vorgestellten Verfahren gelöst, wiel immer nur nach Leerzeichen gesucht wurde.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 01.03.03 18:53 
Jupp, das meinte ich mit Problem. Nur auf Leerzeichen prüfen reicht nicht.

Und alles, worüber ich länger als zwei Minuten nachdenken muß, gilt bei mir erstmal als Problem. :mrgreen: Deswegen habe ich auch erstmal nur den einfachneTeil der Frage beantwortet. :wink:
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 01.03.03 19:04 
Man könnte aus dem ganzen Text alle Satzzeichen (! ? , . ; : - _) entfernen (mit Pos und dann das Zeichen löschen). Oder aber man entfernt sämtliche Sonderzeichen (also auch sowas wie " und §). Dann kommt es drauf ob man Anführungszeichen noch als zum Wort zugehörig bezeichnet oder nicht. Ich glaube offiziell gehören Anführungszeichen auch nicht mehr zum Wort.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 01.03.03 22:41 
Warum geht ihr nicht einfach den Text in einer Schleife durch und prüft, ob ein zeichen ein Buchstabe ist( a-z, A-Z) am besten per ASCII-Code. Sobald es dies nicht ist, hört das Wort auf. Würde 2 Variablen verwenden, um mehrere hintereinander vorkommende Zeichen nicht als Wort zu zählen, also eine Variable für GeradeWort (Boolean) und eine für die Anzahl der Wörter, achja, und natürlich eine für die Anzahl der Buchstaben.

Hab mir noch keinen Code überlegt, aber so schwer sollte das doch eigentlich nicht sein, oder?

Gruß
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Sa 01.03.03 22:46 
Hallo!

UGrohne hat folgendes geschrieben:
prüft, ob ein zeichen ein Buchstabe ist( a-z, A-Z) am besten per ASCII-Code.


aber die Umläutchen nicht vergessen, gelle!

Gruß

Dietmar Brüggendiek
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 01.03.03 23:02 
Brueggendiek hat folgendes geschrieben:

aber die Umläutchen nicht vergessen, gelle!



OK, die nehmer mal lieber rein.... :)