IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

affectation des etudiants aux ecoles


Sujet :

Fortran

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    novembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2020
    Messages : 3
    Points : 5
    Points
    5
    Par défaut affectation des etudiants aux ecoles
    salut, j'essaye de développer un code qui permet l'affectation des étudiants aux écoles mais je n'arrive pas à le compiler (y'a pas mal de fautes)
    Qu'est-ce que vous en pensez ? Et quelles sont les corrections qu'il faut faire afin de le rendre exécutable ?
    et merci par avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    module MonModule
    integer, parameter:: maxi=500
    integer, dimension(maxi,maxi):: student,ecole
    integer, dimension(maxi):: studprefer,ecoleprefer,tabaff
     
    contains
     
    function ecolepriorite(e,s,s1,n)
        integer:: e,s,s1,n,i
        logical:: ecolepriorite
        do i=1,n,1
            if (ecole(e,i)==s) then
            ecolepriorite= .true.
            if (ecole(e,i)==s1) then
                ecolepriorite= .false.
            end if
            end if
        end do
     
    end function ecolepriorite
    subroutine affect(n)
        integer:: n,i,s,s1,e,freecount
        do i=1,n,1
            studprefer(i)=0
            ecoleprefer(i)=-1
        end do
        freecount=n
        do while (freecount>0)
            do s=1,n,1
                do i=1,n,1
                   do while (studprefer(s)==0)
                    e=student(s,i)
                    if (ecoleprefer(e)==-1) then
                        ecoleprefer(e)=s
                        studprefer(s)=1
                        freecount=freecount-1
                        else
                            s1=ecoleprefer(e)
                    end if
                    if (ecolepriorite(e,s,s1,n).eqv..true.) then
                    ecoleprefer(e)=s
                    studprefer(s)=1
                    studprefer(s1)=0
                    end if
                end do
            end do
        end do
    end do
    end subroutine affect
    end module MonModule
     
    !!programme principale
     
    program affectation
        use MonModule
    implicit none
    integer:: m,i,j
    print*,'entrer le nombre des etudiants et des ecoles :'
    read(*,*)m
    print*,'entrer la liste des priorites des ecoles:'
    do i=1,m,1
        do j=1,m,1
            print*,'entrer la preference numero',i,'de l''ecole numero',j
            read(*,*)ecole(i,j)
        end do
    end do
    print*,'entrer la liste de preferences des etudiants:'
    do i=1,m,1
        do j=1,m,1
            print*,'entrer la preference',i,'de l''etudiant',j
            read(*,*)student(i,j)
            print*,'la liste des etudiants dans les ecoles par ordre de priorite'
            do i=1,m,1
                print*,i,'--->'
                do j=1,m,1
                    print*, ecole(i,j)
                end do
                print*,' '
            end do
            print*,'la liste des voeux des etudiants:'
            do i=1,m,1
                print*,i,'--->'
                do j=1,m,1
                    print*, student(i,j)
                end do
                print*,' '
            end do
    call affect(m)
    do i=1,m,1
        tabaff(ecoleprefer(i))=i
        end do
        print*,'l''affectation est la suivante:'
        do i=1,m,1
            print*, i,tabaff(i)
        end do
        print*,' '
    end program affectation

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2010
    Messages : 51
    Points : 144
    Points
    144
    Billets dans le blog
    1
    Par défaut end do manquants
    Bonjour Derine,

    de mon côté ça ne compile pas parce qu'il manque apparemment deux "end do" pour fermer les boucles des lignes 68 et 69. Je pense qu'il faut les mettre entre les lignes 71 et 72. Du coup l'indentation des lignes 72-87 est trompeuse.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    novembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2020
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Oui c'etait ca, merci beacoup.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2015, 16h24
  2. Réponses: 2
    Dernier message: 12/06/2013, 17h40
  3. [XL-2003] l'affectation des nom aux feuilles excel
    Par foughaa01 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/01/2010, 13h35
  4. Réponses: 1
    Dernier message: 20/05/2009, 23h27
  5. Affectation des jsp aux servlets
    Par amine1980 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 28/10/2007, 21h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo