franterminator

generation_matrix

Apr 18th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PROGRAM Matrices
  2.     IMPLICIT NONE
  3.     INTEGER :: n, m, i, j, k
  4.     REAL(8), dimension(:,:), allocatable :: matriz
  5.  
  6.     ! get the data form user
  7.     WRITE(6,*) "N ="
  8.     READ(5,*) n
  9.  
  10.     WRITE(6,*) "M = "
  11.     READ(5,*) m
  12.    
  13.     WRITE(6,'(a,i2,a,i2)') "Los datos introducidos son: ",n," // ",m
  14.  
  15.  
  16.     !allocate de matrix
  17.     allocate(matriz(n*m,2*n+1))
  18.  
  19.  
  20.     matriz(:,:)= 0          !relleno la matriz de ceros
  21.     do i=n+1,n*m
  22.         matriz(i,1) = 1
  23.     enddo
  24.  
  25.     do j=1, m
  26.         do i=1,n
  27.             k = i + (j-1)*n
  28.             if (i == 1) then
  29.                 matriz(k,n) = 0
  30.             else if (i == N) then
  31.                 matriz(k,n) = 3
  32.             else
  33.                 matriz(k,n) = 2
  34.             endif
  35.         enddo
  36.     enddo
  37.  
  38.     do i=1,n*m
  39.         if (i <= n) then
  40.             matriz(i,n+1) = 4
  41.         else
  42.             matriz(i,n+1) = 5
  43.         endif
  44.     enddo
  45.  
  46.     do i=1,n*(m-1)
  47.         matriz(i,2*n+1) = 6
  48.     enddo
  49.  
  50.  
  51.     do i=1,n*m
  52.         write(6,'(*(f4.2,2x))') (matriz(i,j), j=1,2*n+1)
  53.     enddo
  54.    
  55.     READ(5,*)
  56.  
  57.  
  58. END PROGRAM Matrices
Advertisement
Add Comment
Please, Sign In to add comment