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

C++ Discussion :

---->> code commentaire <<----


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Par d�faut ---->> code commentaire <<----
    Bonjour
    MErci pour v�tre aide .

    Je voulais seulement vous demander v�tre aide sur les commentaires du code MErci d'avance pour v�tre r�activit�.


    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
     
     
    #include <boost/config.hpp> 
    #include <iostream> 
    #include <string> 
    #include <boost/graph/push_relabel_max_flow.hpp> 
    #include <boost/graph/adjacency_list.hpp> 
    #include <boost/graph/read_dimacs.hpp> 
    #include <boost/graph/graph_utility.hpp> 
     
    // Use a DIMACS network flow file as stdin. 
    // max_flow < max_flow.dat 
    // 
    // Sample output: 
    //  c  The total flow: 
    //  s 13 
    // 
    //  c flow values: 
    //  f 0 6 3 
    //  f 0 1 6 
    //  f 0 2 4 
    //  f 1 5 1 
    //  f 1 0 0 
    //  f 1 3 5 
    //  f 2 4 4 
    //  f 2 3 0 
    //  f 2 0 0 
    //  f 3 7 5 
    //  f 3 2 0 
    //  f 3 1 0 
    //  f 4 5 4 
    //  f 4 6 0 
    //  f 5 4 0 
    //  f 5 7 5 
    //  f 6 7 3 
    //  f 6 4 0 
    //  f 7 6 0 
    //  f 7 5 0 
     
    int 
    main() 
    { 
      using namespace boost; 
     
      typedef adjacency_list_traits<vecS, vecS, directedS> Traits; 
      typedef adjacency_list<listS, vecS, directedS, 
    property<vertex_name_t, std::string>,      
     
                                         [b][u]Ca sert à koi property<vertex..[/u] 
     
      property<edge_capacity_t, long, 
      property<edge_residual_capacity_t, long, 
      property<edge_reverse_t, Traits::edge_descriptor> > > > Graph; 
     
      Graph g; 
     
      property_map<Graph, edge_capacity_t>::type 
        capacity = get(edge_capacity, g); 
      property_map<Graph, edge_reverse_t>::type 
        rev = get(edge_reverse, g); 
      property_map<Graph, edge_residual_capacity_t>::type 
        residual_capacity = get(edge_residual_capacity, g); 
     
      Traits::vertex_descriptor s, t;                             // ça c'est bien les Sommets  :?: 
      read_dimacs_max_flow(g, capacity, rev, s, t); 
     
      long flow; 
    #if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 // C'est le nombre de koi 
     
      // Use non-named parameter version 
      property_map<Graph, vertex_index_t>::type 
        indexmap = get(vertex_index, g); 
      flow = push_relabel_max_flow(g, s, t, capacity, residual_capacity, rev, indexmap); 
    #else 
      flow = push_relabel_max_flow(g, s, t); 
    #endif 
     
      std::cout << "c  The total flow:" << std::endl; // Std ça sert à koi 
      std::cout << "s " << flow << std::endl << std::endl; 
     
      std::cout << "c flow values:" << std::endl; 
      graph_traits<Graph>::vertex_iterator u_iter, u_end; 
      graph_traits<Graph>::out_edge_iterator ei, e_end; 
      for (tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter) 
        for (tie(ei, e_end) = out_edges(*u_iter, g); ei != e_end; ++ei) 
          if (capacity[*ei] > 0) 
            std::cout << "f " << *u_iter << " " << target(*ei, g) << " " 
                      << (capacity[*ei] - residual_capacity[*ei]) << std::endl; 
     
      return 0; 
    } 
    [u][/u][/b]
    [/code]

  2. #2
    Membre Expert
    Inscrit en
    D�cembre 2004
    Messages
    1 478
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2004
    Messages : 1 478
    Par d�faut
    Le C++ est a cote.

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Par d�faut ------>>> infos <<<<-------
    Oui mais c'est pas du C++

    Mon programme na ni classe ni objet ni h�ritage ni rien

    c'est un code C certe difficile � d�chiffr�

  4. #4
    Membre �m�rite Avatar de reggae
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    773
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 773
    Par d�faut
    Tout ton gros paquet du d�but:
    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
     
    // Use a DIMACS network flow file as stdin.
    // max_flow < max_flow.dat
    //
    // Sample output:
    //  c  The total flow:
    //  s 13
    //
    //  c flow values:
    //  f 0 6 3
    //  f 0 1 6
    //  f 0 2 4
    //  f 1 5 1
    //  f 1 0 0
    //  f 1 3 5
    //  f 2 4 4
    //  f 2 3 0
    //  f 2 0 0
    //  f 3 7 5
    //  f 3 2 0
    //  f 3 1 0
    //  f 4 5 4
    //  f 4 6 0
    //  f 5 4 0
    //  f 5 7 5
    //  f 6 7 3
    //  f 6 4 0
    //  f 7 6 0
    //  f 7 5 0
    ...
    Tu n'es pas oblig� de r�p�ter les "//" chaque fois... Il te suffit d'utilser les /* */ c'est mieux je trouve.
    Ensuite il faut mettre des espaces dans ton code->meilleure visibilit�.
    Et il me semble qu'il y a des petits probl�mes d'alignement.

    Alors pour les comm's:
    Il te suffit de "raconter" ce que fait telle ou telle op�ration qui pourrait sembler compliqu�e � quelqu'un vovant le code pour la premi�re fois, de d�crire le comportement et les arguments de certaines fonctions,etc.
    Par contre ne noie pas ton code sous les comm's, �a risquerait de le rendre illisible.

  5. #5
    R�dacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de syst�me d�information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Architecte de syst�me d�information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par d�faut Re: ------>>> infos <<<<-------
    Citation Envoy� par faressam
    Oui mais c'est pas du C++

    Mon programme na ni classe ni objet ni h�ritage ni rien

    c'est un code C certe difficile � d�chiffr�
    non, c'est du c++. On remarquera les inclusions de iostream, string ou encore boost. De m�me que l'appel � des conteneurs de l'espace de nommage std.

    Je d�place donc dans C++

  6. #6
    Membre Expert
    Inscrit en
    D�cembre 2004
    Messages
    1 478
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2004
    Messages : 1 478
    Par d�faut
    Si, c'est du C++. Tu utilises l'iostream cout (qui est un objet), l'espace de nom de la bibliotheque boost, et ce qui ressemble furieusement a des templates (les <>).
    Tu inclus egalement des en-tetes standards du C++ (iostream et string) ainsi que les en-tetes de boost, dont l'extension est .hpp (pp pour ++).

  7. #7
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    A vu de nez ca ressemble tr�s fortement a un des petit exemple tout fait trouvable sur le site de boost , non?

    Apr�s, qu'est ce que tu ne comprend pas exeactement ?
    Deja renseigne toi sur l'utilisation simple des graph avec boost, ensuite sur les param�tre prit en compte par la fonction du calcul du flow et apr�s tout ira sur des roulettes ^^

    edit :

    Ca sert � koi property<vertex..[/
    De m�moire ce sont les propri�t� contenu par les vertex, en l'occurence un string .

    Bon apr�s j'ai toujours confondu vertex et edges alors me demande pas lequel est sommet et lequel est arc ^^

Discussions similaires

  1. Code "commentaire et status"
    Par bissm dans le forum Android
    R�ponses: 1
    Dernier message: 01/05/2013, 10h32
  2. explications/commentaires de codes
    Par pascal913 dans le forum Access
    R�ponses: 24
    Dernier message: 19/07/2006, 14h01
  3. commentaire sur un code
    Par Bibouda dans le forum C
    R�ponses: 10
    Dernier message: 25/11/2005, 23h12
  4. [CR]Comment faire de longs commentaires dans le code
    Par liberio dans le forum SAP Crystal Reports
    R�ponses: 4
    Dernier message: 07/06/2004, 20h45
  5. [VB6] mise en commentaire d'un bloc de code
    Par JuanDeLaPlaya dans le forum VB 6 et ant�rieur
    R�ponses: 8
    Dernier message: 30/04/2003, 15h05

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