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
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?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden