
- Κώδικας: Επιλογή όλων
IF (NB.LT.NBMAX(I)) NBMAX(I)=NB
IF (NB.LT.NBMAX(I)) ITEMP=J+1
Καταρχάς, θέλεις να μεγιστοποιήσεις το n*b, οπότε στον έλεγχο θα πρέπει να αναζητάς τα μεγαλύτερα από την αρχική σου υπόθεση. Δηλαδή όπου ".LT." πρέπει να μπει ".GT.".
Το δεύτερο λάθος βρίσκεται στο πώς έχεις γράψει τον έλεγχο που δίνει τιμή στο "ITEMP". Αρχικά κάνεις τον έλεγχο και βρίσκεις ότι π.χ. το NB για το 1.40m είναι μεγαλύτερο από το NBMAX εκείνη τη στιγμή. Βάζεις νέα τιμή στο NBMAX. Έπειτα, ελέγχεις ξανά αν το NB είναι μεγαλύτερο από το NBMAX, το οποίο όμως τώρα έχει αποκτήσει νέα τιμή και προφανώς ο έλεγχος δεν βγαίνει αληθής. Συνεπώς, έχεις δυο λύσεις:
- Είτε κάνεις μια φορά τον έλεγχο και εκτελείς όσες εντολές πρέπει να εκτελεσθούν (το ορθότερο προγραμματιστικά)
- Είτε ο δεύτερος έλεγχος που θα κάνεις δεν θα είναι για "μεγαλύτερο" αλλά για "ίσο" ή "μεγαλύτερο ή ίσο" (πλεονασμός το δεύτερο).
Συνεπώς, το σημείο αυτό πιστεύω οτι πρέπει να αλλαχθεί με το παρακάτω. Δεν γνωρίζω τι σας επιτρέπουν να χρησιμοποιείτε (έχω ακούσει οτι σας βασανίζουν με πολλούς περίεργους/ανεξήγητους περιορισμούς) αλλά μια δομή που θα σου έλυνε το πρόβλημα είναι η εξής:
- Κώδικας: Επιλογή όλων
IF (NB.GT.NBMAX(I)) then
NBMAX(I)=NB
ITEMP=J+1
endif
Ελπίζω να βοήθησα.

@harakon: Χρειάζεσαι ένα πρόγραμμα που να αποσυμπιέζει .zip αρχεία. Ένα γνωστό ελεύθερο λογισμικό για αυτή τη δουλειά είναι το 7-Zip. Από εκεί και πέρα, μέσα υπάρχουν δυο .f αρχεία, τα οποία ανοίγουν με συμβατό Fortran compiler ή με οποιονδήποτε text editor (π.χ. windows notepad, notepad2 κτλ).
