ibkar Geschrieben 29. November 2012 Geschrieben 29. November 2012 Hallo, beim Kopilieren von diesem Programme bekomme ich keine Fehlermeldung, jedoch beim Öffnen einen speicherzugriffehler. Ich weiß einfach nicht, wo der Fehler liegt. PROGRAM main ! Variablendekleration IMPLICIT NONE INTEGER::wahl1,i, j, wert1(9,9) DO i=1,9 DO j=1,9 wert1(i,j)=0 ENDDO ENDDO PRINT*, "Herzlich Willkommen" PRINT*, "Woraus soll die Matrix eingelesen werden?" PRINT*, "1 - Tastatur" PRINT*, "2 - Datei" READ*, wahl1 DO SELECT CASE(wahl1) CASE(1) CALL matrixt(wert1) CASE DEFAULT PRINT*, "Falsche Eingabe. Bitte erneut eingeben!" END SELECT IF(wahl1==1) EXIT ENDDO END als externes Modul SUBROUTINE matrixt(wert) IMPLICIT NONE INTEGER:: k, l, wert(9,9) DO k=1,9 DO l=1,9 PRINT*, "Bitte geben Sie die 9 Werte der",k,".ten Zeile ein und der",l,",ten Spalte" READ*, wert(k,l) ENDDO ENDDO PRINT*,wert(k,l) PRINT*, "Drücke ENTER" READ* END SUBROUTINE Vielleicht kann mir einer weiter helfen. Das würde mich weiterbringen. Danke Zitieren
afo Geschrieben 6. Dezember 2012 Geschrieben 6. Dezember 2012 Ohne Fortran zu kennen: Ist wert1 ein Array? INTEGER::wahl1,i, j, wert1(9,9) deklariert also ein 9x9 Array. Sicher, dass in Fortran bei der "Addressierung" der Stellen im Array nicht auch bei 0 angefangen wird? Du mit DO i=1,9 DO j=1,9 wert1(i,j)=0 also schon die Stellen 2 bis 10 ansprichst? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.