02.05.2014 Views

Patrick Corde & Anne Fouilloux

Patrick Corde & Anne Fouilloux

Patrick Corde & Anne Fouilloux

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Corrigés 246<br />

31 ! Procédure de tri.<br />

32 subroutine tri( mat, n, m )<br />

33 implicit none<br />

34 integer :: n, m<br />

35 real, dimension(n,m) :: mat<br />

36 integer :: ligne, col<br />

37<br />

38 do ligne=1,n ! Tri des lignes.<br />

39 call tri_vecteur( mat(ligne,:), m )<br />

40 end do<br />

41 do col=1,m ! Tri des colonnes.<br />

42 call tri_vecteur( mat(:,col), n )<br />

43 end do<br />

44 contains<br />

45 ! Procédure de tri d’un vecteur.<br />

46 subroutine tri_vecteur( v, n )<br />

47 integer :: n, i<br />

48 real, dimension(n) :: v<br />

49 logical :: tri_termine<br />

50 real :: temp<br />

51 do<br />

52 tri_termine = .true.<br />

53 do i=2,n<br />

54 if ( v(i) > v(i-1) ) then<br />

55 tri_termine = .false.<br />

56 temp = v(i-1); v(i-1) = v(i); v(i) = temp<br />

57 end if<br />

58 end do<br />

59 if (tri_termine) exit<br />

60 end do<br />

61 end subroutine tri_vecteur<br />

62 end subroutine tri<br />

INSTITUT DU DÉVELOPPEMENT<br />

ET DES RESSOURCES<br />

EN INFORMATIQUE SCIENTIFIQUE<br />

Cours langage Fortran – 27 janvier 2006<br />

<strong>Patrick</strong> <strong>Corde</strong> et <strong>Anne</strong> <strong>Fouilloux</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!