Bonjour,
j'ai écrit un programme pour créer des matrices en donnant les éléments de la matrice.
C.....Déclarations
implicit none
integer i,j,k,nl1,nc1
integer nl3,nc3
integer mat1(10,10)
character*3 test
C.....Saisie des matrices
open(7,file='mat1.dat')
1000 call lect (nl1,nc1,mat1)
print*, 'donner les valeurs des éléments de la matrcice 1 '
do i=1,nl1
print*, (mat1(i,j),j=1,nc1)
end do
write(7,*) mat1
close(7)
end
C.....Subroutine de lecture de matrices
subroutine lect(NL,NC,MAT)
integer mat(10,10)
print*, 'nombres de lignes et de colonnes de la matrice'
read*, NL,NC
print*, 'donner les valeurs des ‚l‚ments de la matrice'
do i=1,NL
read*, (mat(i,j),j=1,NC)
end do
return
end
Je voudrais maintenant que les éléments de la matrice s'inscrivent automatiquement à partir d'un unique nombre k. Ce même nombre k défini le nombre de ligne et de colonne de la matrice tel que:
nl=k+1
nc=k
La matrice a cette forme:
0 0 0 0 ....
a b b b ...
b a b b ...
b b a b ....
b b b a ....
Les éléments a et b sont calculés à partir du nombre demandé.
J'ai essayé avec des boucles DO WHILE, DO et IF mais rien ne fonctionne.
Petite précision qui peut avoir son utilité, je travail en FORTRAN 77.
Si vous avez des idées, je suis preneur.
Yvan
Partager