• Martes 16 de Abril de 2024, 09:43

Autor Tema:  Error en un programa  (Leído 1645 veces)

AlbertoVV

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Error en un programa
« en: Viernes 8 de Enero de 2010, 15:23 »
0
Buen día compañeros , estoy iniciando en la programación en fortran y he hecho el siguiente programa solo que al llegar a la linea 20 me marca un error, espero que alguien me pueda ayudar a solucionarlo, gracias, este es el codigo

c234567
   Program build_map_from_profilo
   character*12 fichier
   character*12 fichierres
   REAL     data
   INTEGER     Nval, Np, Profxy
   INTEGER     j, n
   Dimension data(5000,5000)

   print *, 'Entrez le nom du fichier profilo (8caract.txt):'
   Read(*,'(a)') fichier
   Print *, 'Profil suivant X (1) ou Y (2):'
        read(*,*) Profxy
        Print *, 'Nombre de points par profil :'
        read(*,*) Nval
        Print *, 'Nombre de profils :'
        read(*,*) Np

   open(68,file=fichier)
   read(68,*,end=22)........................................al llegar aqui me marca el error
   
22    if (Profxy.eq.1) then
   
c********* lecture des valeur X
      read(68,*) (data(1,j), j=1,Nval)
   
      do N=1, Np
         read(68,*) (data(N+1,j), j=1,Nval+1)
         
c         do j=1, Nval
c         Print*, 'Z= ',data(N+1,j)
c         if (j.eq.25) pause
c         end do
c         pause
         
      end do

   else
c********* lecture des abscisses profils
      read(68,*) (data(1,n), n=1,Np)
      
      do j=1, Nval
         read(68,*) (data(j+1,n), n=1,Np+1)
      end do
   endif
   close (68)   
   
c********** Ouverture du fichier resultats **********
   fichierres=fichier(1:8)//'.dat'
        open(69,file=fichierres)
c
   if (Profxy.eq.1) then

      do N=1, Np
c         Print*, 'Traitement du profil ',N
c
         do j=1, Nval
         
            write(69,500)
     &                           data(1,j)/1.E3, data(N+1,1)/1.E3,
     6   data(N+1,j+1)/1.E3
              end do
              
           write(69,*)

      end do

   else


      do N=1, Np
c         Print*, 'Traitement du profil ',N
c
         do j=1, Nval
         
            write(69,500) data(j+1,1)/1.E3,
     &                           data(1,N)/1.E3,
     6   data(j+1,N+1)/1.E3
              end do
              
           write(69,*)

      end do

   endif

500      format(F7.3, 1X, F7.3, 1X, F8.4)

c
   print *, 'Les résultats sont enregistrés dans ', fichierres
   print *, 'Ce fichier comporte ', Np,' profils de ', Nval,
     &   ' points.'
c   print *, 'Forme des données : X Y Z (mm)'
c
   close (69)            
   END