Veröffentlicht 29. November 201212 j 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
6. Dezember 201212 j 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?
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.