Fortran Finden des längsten Datensatzes

Hallo,
ich bin neue auf dem Gebiet Fortran Programmierung und hoffe, dass mir jemand weiterhelfen kann. Mein Problem ist folgendes:

Ich habe um die 1000 Inputfiles, die in meinem Programm alle geöffnet werden und alle unterschiedlich viele Daten besitzen. Nun muss ich unter anderem das File mit der größten Zeilenanzahl finden und diese Zeilenanzahl ausgeben. Mein Lösung ist es mit mehreren Schleifen in jedem File eine Zeile einzulesen,Zählvariable hochsetzen und mit einer Variable max vergleichen, ob diese Zeilenanzahl momentan am größten ist. Lieder verlangsamt dieser Algorithmus mein komplettes Program ziemlich, da die Datensätze sehr groß sind.
Gibt es andere Möglichkeit das Problem effektiver zu lösen bzw. gibt es vordefinierte Funktion die ich bei der Bestimmung der Zeilenzahl einbeziehen könnte?Ich habe schon ausführlich gegoogelt, leider ohne Erfolg. Ich hoffe, dass mir jemand weiter helfen kann. Danke schonmal im Voraus!

Hallo feppi,

ich habe seit 20 Jahren kein Fortran mehr angefasst. Deswegen habe ich auch keine genaue Syntax parat. Allgemein würd ich sagen: Lies die komplette Datei in einen String ein und zähle die chr(10) oder chr(13). das sollte m.a. die Anzahl der Zeile sein.

Gruß, Andreas

ich habe seit 20 Jahren kein Fortran mehr angefasst. Deswegen
habe ich auch keine genaue Syntax parat. Allgemein würd ich
sagen: Lies die komplette Datei in einen String ein und zähle
die chr(10) oder chr(13). das sollte m.a. die Anzahl der Zeile
sein.

Und dann nimmst du dir die nächste Datei vor - du musst dir ja nur die merken, die mehr Zeilen hat. Mehr Schleifen braucht man nicht.

Gruss Reinhard

PS muss das wirklich in Fortran sein? Das ist doch eine Utility ganz für sich allein. Je nach Betriebssystem bräuchte man nicht mal ein Programm, sondern ein paar Batch-Befehle.

Hallo,
danke für die Antworten. Ja, es muss leider unbedingt in Fortran sein. Wie lese ich denn die komplette Datei in einen einzigen String ein?Mir würde nur einfallen einen anfangs leeren String zu definieren und Zeile für Zeile zu dem ursprünglichen String die neue Zeile dazu addieren. Das benötigt aber genau soviele Durchläufe wie meine ursprüngliche Lösung.

Hallo,
danke für die Antworten. Ja, es muss leider unbedingt in
Fortran sein. Wie lese ich denn die komplette Datei in einen
einzigen String ein?..

Das ist sowieso Unsinn. Es genügt, die Datei Zeichen für Zeichen zu lesen und die CRs zu zählen. Oder die LFs, je nachdem, was als Zeilentrenner verwendet wird.

Gruss Reinhard