J'ai programmé une Knuth lecture aléatoire en Fortran comme suitComment passer des tableaux statiques à des fonctions qui acceptent des réseaux affectables sans passer la longueur du tableau
subroutine knuth_shuffle(array, length)
implicit none
integer :: length
integer :: array(length)
integer :: randomIndex
integer :: temp
do i = 1, length - 2
randomIndex = floor(randomBetween(real(i), real(length)))
temp = array(i)
array(i) = array(randomIndex)
array(randomIndex) = temp
enddo
end subroutine knuth_shuffle
Chaque fois que j'appelle le sous-programme, je dois entrer la longueur du tableau aussi.
call knuth_shuffle(A, size(A))
Est-il possible que je peux changer le sous-programme quand je l'appelle, il ressemble plus:
call knuth_shuffle(A)
@Yossarian, s'il vous plaît ne pas faire de montage en masse pour supprimer les balises sans regarder aussi le contenu du poste qui peut être amélioré. – francescalus