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

Caml Discussion :

[Caml] Problème de langage avec l'algorithme de welsh et powell


Sujet :

Caml

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [Caml] Problème de langage avec l'algorithme de welsh et powell
    j'ai besoin de convertir ce programme camel en pascal
    je n'ai aucune notion de camel j'aurai donc besoin d'un peu d'aide. c'est la question 11 du sujet d'informatique des mines 2003:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    let coloration G = let couleurs = make_vect G.n 0 in  
              for i = 0 to G.n-1 do  
                  let vois = voisins G i in 
                       let v= voisins_plus_petits i vois in 
                         let c = map(fun x -> couleurs.(x)) v in  
                          couleurs.(i)<- premier_choix 1 c  
     
    done; 
    couleurs;
    la fonction voisins qui renvoi la liste triée par ordre croissant des voisins du sommet s dans le graphe G

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    let voisins G s = 
    let rec aux accu= fonction 
      |[]-> accu 
      |t::q when t.a = s ->aux (insere accu t.b) q 
      |t::q when t.b = s -> aux (insere accu t.a) q 
       |_::q -> aux accu q 
    in aux [] G.A;;
    la fontion insere telle que si L est une liste
    d'entier distinc trié par ordre croissan et s keskonque inser L s renvoi la liste d(entier obtenu en inseran s dans L dans lordre croissanbt si s ne figurait pas ds L.

    la fonction voisins_plus_petit qui extrait de la liste de tous les voisins ceux qui sont de numero inferieur strictement à i.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let rec voisins_plus_petits i=function 
    |t::q when t<i -> t:voisins_plus_peits i q) 
    |_-> [];;
    la fonction premier choix telle que premier choix 1 q renvoi le premier numero de couleur qui ne fait pas partir de la liste q.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let rec premier_choix i = function 
    |q when mem i q -> premier_choix (i+1)  q 
    |_->i;;
    je n'ai pas les types en camel mais en pascal:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    type  Arete = record 
            a: integer; 
            b:integer; 
           end; 
    type Graphe = record 
          n: integer; 
          nb_aretes:integer; 
          A:array[0.. max_arretes-1]of arete; 
     
    type couleurs = array(0..max sommet-1] of integer;
    merci beaucoup d'avance je doit présenter le tipe très bientot, c'est à dire lundi

  2. #2
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    euh pourquoi ne pas demander qu'on t'explique le code sur la partie camel du forum et puis la convertir en pascal?

    edit: non je n'ai rien dit il n'y a aps de forums consacrés au camel . Mais seulement pas de multipost stp on s'y retrouve pas sinon
    ★ Pascal/Java/C/xhtml,css/SQL/Mips
    ★ Linux/unix

  3. #3
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Bonjour,

    Pas d'indentation, pas de balise code, le code source est donc illisible. Donc on ne se cassera pas la tête à t'aider si tu ne fais pas d'efforts pour nous y inciter.

    Sinon, bonne chance pour tes oraux, peut-être qu'on se croisera l'année prochaine aux Mines de Sainté

    @++

    PS: Ton adresse mail ne sera utilisée par aucun d'entre nous (on est sur un forum, pas sur une mailing), par contre les robots de spam vont se faire un plaisir de récupérer cette adresse pour te bombarder de mails. Mieux vaut pour toi éditer ton message et la supprimer au plus vite...
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    en fait j'y est re réfléchie
    l'algorithme en français devrait donner quelque chose comme ça:

    c(1)<- 1 pour i>1 on examine la liste d couleurs c(j) où j<i et (j,i) appartenan à l'ensemble des arretes de G en le triant par insertion.
    On effecte alors à c(i) la plus petite valeur disponible.

Discussions similaires

  1. Héritage multi langage avec .NET
    Par mydjouns dans le forum C#
    Réponses: 1
    Dernier message: 20/07/2009, 12h31
  2. Langage avec API graphique gratuit pour usage professionel
    Par Nix6800 dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 09/07/2009, 17h52
  3. lstlisting : Comment sélectionner aucun langage avec lstset ?
    Par TranceVibes dans le forum Mise en forme
    Réponses: 3
    Dernier message: 24/07/2007, 02h51
  4. [KUBUNTU] Problème de langage avec le bureau KDE
    Par rayga dans le forum Ubuntu
    Réponses: 2
    Dernier message: 09/03/2007, 15h23
  5. Quel langage avec Oracle????
    Par djedje11 dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 16/03/2004, 11h15

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