Programmieren in Fortran, Zeichenkette sortieren..

  • Hallo,


    ich sitze hier vor meinen Hausuafgaben in numerischer Physik und hab ein kleines Problemchen.
    Ich soll ein Pogramm in Fortran 95 programmieren, welches einen Text einließt und die häufigkeit der Buchstaben ausspuckt, doch ich hab keine Ahnung wie das funktionieren soll.
    Ich habe schon versucht den Text als


    character, dimension(:), alloctable:: text


    als "Vektor" einzulesen,( doch das klappt auch shcon nicht.),sodass ich mit einer Zählschleife den ersten Buchstaben des alphabets nehme und immer wenn der Buchstabe des Alphabets mit dem des Textes übereinstimmt einen Zähler hochzählt.... usw.
    Doch irgendwie will das nicht so ganz funktoinieren und ist wohl auch zu umständlich...


    Gibts da irgendeinen Tipp? Gegooglet hab ich schon und auch diverse Tutorials durch....


    gruß,
    Stefan

  • Naja, ich bin totaler Fortran-Neuling...
    Ich kann zwar die ASCII-Werte eines Buchstabens darstellen lassen, aber ich kann bei einem Text (bei dem die großschreibung vernachlässigt werden soll) nicht jedem einzelnen Buchstaben einen Wert zuordnen.
    Wie sollte das denn aussehen?


    Die Zeichen werden in ASCII-Werten dargestellt und nachgesehen wie oft jeder Wert vorkommt (wie mach ich das?). Anschließend werden die Buchstaben nur noch ihrer Häufigkeit nach geordnet.

  • Hi Günter,
    ich bin mir nicht sicher, ob Fortran so'n Typenmissbrauch erlaubt. Außerdem setzt es die Verwendung von ASCII auch voraus. Was machst Du dann in einer Rechnerumgebung mit EBCDIC-Code? (oder anderen Codetabellen, die landestypische Zeichen mit 2 Bytes oder noch anders codieren. Denk mal an ein "ü" im Domainnamen.)


    Mit Fortran kann ich aber nicht dienen, COBOL, Pascal hab ich noch schwach in Erinnerung. Und da konnte man Zeichenketten Zeichen für Zeichen einlesen bis ein EOF auftratt. So nach dem Motto:


    Solange Zeichen NOT EOF tue dies:
    Lese Zeichen
    Normiere und Vergleiche (wg. Groß/Klein)
    nächstes Zeichen


    Fortran ist aber bei Schleifen "strenger", da muss man die Länge der Zeichenkette vorher ermitteln und damit die vorab festlegen, wie oft man die Schleife durchläuft.


    Gruß

  • Hallo Stefan,


    wie wär's mit so was:


    Solltest dann noch die Häufigkeit sortieren...


    Gruß aus der Pfalz

  • ... welcher wahnsonnige lässt euch in fortran programmieren??


    ... hab ich schon bei meiner diplomarbeit ned verstanden, wieso ich das jetzt tun muss ...


    lg
    wolfi

  • Wolfi,


    [:D][:D]
    So 'ne Frage hatte ich vor 15 Jahren hinsichtlich COBOL an der Uni. Handschriftlich kodiert auf Formblatt mit 'Lochspalten'. Wehe, man hat das Raster nicht eingehalten, das gab Punktabzug. Bis ich dann als Prüfer dann die Realität erleben durfte. Das war dann eine Mischung aus COBOL und Assembler.


    Ist zwar schon eine Weile her, aber in COBOL hatte man so wunderbare "99" als Feldbelegung**, wenn man Datensätze löschen wollte. Dumm nur als man dann das Ende des letzten Jahrtausend erreichte und Jahreszahlen "platzsparend" nur mit zwei Ziffern hinterlegte.


    [:D][:D][:D]


    Gruß


    ** Beim nächsten Sortierungslauf landeten solche Datensätze dann ans Ende der Datei und konnten dann easy entfernt werden. Nicht dass jemand denkt, die wären damals "blöd" gewesen.[;)]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!