Utilisateur anonyme
-
14 sept. 2004 à 14:03
ami7
Messages postés99Date d'inscriptiondimanche 8 août 2010StatutMembreDernière intervention29 juin 2011
-
8 mars 2011 à 12:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
ami7
Messages postés99Date d'inscriptiondimanche 8 août 2010StatutMembreDernière intervention29 juin 20111 8 mars 2011 à 12:54
je pense que c'est un travail génial mais j'ai pas compris
les codes source car je ne fait pas de c++
y a t'il des codes source relatifs à ce sujet avec Java
???????
merci de m'aidez
mayak2005
Messages postés6Date d'inscriptiondimanche 27 août 2006StatutMembreDernière intervention 5 janvier 2008 18 mai 2009 à 14:45
Bonjour,
je suis très intéressée par votre programme mais j'ai un problème de compilation. Pourriez vous m'aider SVP
1>new.obj : error LNK2019: unresolved external symbol "public: __thiscall matrice::~matrice(void)" (??1matrice@@QAE@XZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::MenuPartie3(void)" (?MenuPartie3@Graph@@QAEXXZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::MenuPartie2(class matrice &)" (?MenuPartie2@Graph@@QAEXAAVmatrice@@@Z) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::MenuPartie1(class matrice &)" (?MenuPartie1@Graph@@QAEXAAVmatrice@@@Z) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::MatVal(class matrice &)" (?MatVal@Graph@@QAEXAAVmatrice@@@Z) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall matrice::afficher(void)" (?afficher@matrice@@QAEXXZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::Incidence(class matrice &)" (?Incidence@Graph@@QAEXAAVmatrice@@@Z) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::afficherG(void)" (?afficherG@Graph@@QAEXXZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::RemplireGraph(void)" (?RemplireGraph@Graph@@QAEXXZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: __thiscall matrice::matrice(int,int)" (??0matrice@@QAE@HH@Z) referenced in function _main
1>D:\Documents and Settings\mkrichen\My Documents\Visual Studio 2008\Projects\new\Debug\new.exe : fatal error LNK1120: 10 unresolved externals
Mooad --> Il faut, et il suffit de faire un parcours du graphe.
Algo:
0 -> marque;
Tant qu'il existe un sommet s non marqué:
++marque;
marquer(s, marque);
Fin tantQue
avec marquer, l'algorithme qui marque tous les descendants d'un noeud. Cet algo peut être récursif, ou utiliser une FIFO/FILO; ici un exemple récursif:
marque -> marque[s];
Pour tout noeud N, tel qu'il existe un arc (s,N)
marquer(N, marque);
Fin pour
Voilu.
Sinon, à me relire plusieurs années après, je constate que j'ai pas mal évolué depuis le temps :)
Salut à tous.
cs_mooad
Messages postés1Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention27 décembre 2006 27 déc. 2006 à 21:33
svp je veux un exemple de programme pour l'algorithme de marquage plus ou moins des sommets des graphes pour determiner les composante fortement connexe
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 21 sept. 2004 à 15:50
c'est étonnant, moi j'aurais plutôt cru que c'était l'inverse, étant donné que s'il y a un vertex x,y pr tt x et tt y, ça fait bcp plus de vertices que ds le cas où il y aurait un chemin.
mais enfin, c'est pas moi qui décide des termes ^^
après renseignements:
faiblement connexe: pour tout x,y du graphe G, il existe une chaine (x,y)
fortement connexe: pour tout x,y du graphe G, il existe un chemin (x,y)
dans le cadre non orienté, il n'y a pas différence donc on parle juste de connexe ou non connexe.
cs_mehdibou
Messages postés365Date d'inscriptionvendredi 24 mai 2002StatutMembreDernière intervention18 octobre 2004 20 sept. 2004 à 17:55
Un graphe connexe se dit d'un graphe non orienté dont tous les sommets sont accessibles depuis tout autre, il ne possède donc qu'une composante connexe. Pour un graphe orienté, il est connexe si le graphe non-orienté qui lui est associé est connexe.
Fortement connexe ne se dit que pour les graphes orientés, si depuis chaque sommet on peut atteindre tous les autres. Un graphe orienté fortement connexe est donc connexe et possède au moins un cycle.
Par contre je n'ai jamais rencontré "faiblement connexe".
keayoub
Messages postés14Date d'inscriptionsamedi 11 septembre 2004StatutMembreDernière intervention17 septembre 2004 15 sept. 2004 à 01:28
oui c bien vu pour la remarque avec cout<<endl<<endl
merci d'avoir pensée a ca
et pour le graphe avec un seul noeud c pas vraiment pratique car un graphe c au moin 2 noeud sinon c pas un graph même ds les flots il te faux une entrée et une sortie
et c vrai c pour eviter les problemes de la matrice sinon il faut tt revoir
Au fait, petites remarques:
cout << endl << endl, on peux aussi faire cout << '\n' << endl, ou encore cout << "\n\n" ou encore avec <<flush si on veux vider le tampon.
void main, c'est pas standart donc pas portable.
Bref, j'ai pas trop regardé le code, mais par contre je fais une remarque:
je crée un graphe à un noeud, je veux le lier à lui même et là, impossible.
Ca ne fait que les graphes simples ? C'est pour éviter les problemes avec les matrices ?
Ah bon ? Je vois bien. Nous appelions cela simplement graphes connexes (cas où qque soit (x,y) il existe un chemin x->y) ou non connexe (cas où le graphe est composé de plusieurs composantes connexes).
keayoub
Messages postés14Date d'inscriptionsamedi 11 septembre 2004StatutMembreDernière intervention17 septembre 2004 14 sept. 2004 à 21:07
bon pour la question et bien c la reponse qu'a donné kirua c la même chose mais plus claire on dit qu'un chemin est fortement connexes ou bien dense car c la même chose si entre chaque couple (x,y) de noeud avec x#y il existe au moin un chemin entre x et y
sachant que ds un graphe fortement connexe 2 noeud ou sommet sont reliés par au moin 2 chemin
1 de x vers y
2 de y vers x
et il ya pas de connexe tt cours
on dis fortement connexe ou bien faiblement connexe ds le cas contraire
et merci pour votre commentaire et si vs avez plus de questions voici mon compte msn
keayoub@msn.com
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 14 sept. 2004 à 17:44
en fait, on dit qu'il est dense, j'avais jamais vu fortement connexe non plus, mais j'imagine que c'est ça.
c'est pas chiffré, mais pour visualiser la chose, dis toi que qd on graphe est dense, ça commence à être VRMNT utile d'utiliser une matrice d'adjacence plutôt que des listes pour stocker les liaisons, parce que ta matrice prendra jamais plus de n² en place (avec n = nb de sommets), alors que tes listes ça va décoler :/
bon, si tu as un graphe directionnel, une "demi matrice" suffira bien entendu.
C'est bizarre, jamais vu cette notion en cours de graphes.
Et à partir de quel moment il est "quasiment" complet ?
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 14 sept. 2004 à 17:19
fortement connexe ça veut dire qu'il est quasiment complet (presque tous les sommets sont reliés à presque tous les autres sommets par des côtés) -- à savoir sommet = vertex et côté = edge, on est qd même tjs plus à l'aise en anglais pr ces sujets ^^
Je me suis pas attardé dessus mais je le ferais à l'avenir. Ca doit être assez intéressant de lire le code, surtout qu'il requiert pas mal d'objets mathématiques: les matrices pour les mats d'adajacences, etc...
Puis l'implémentation des algos de recherche de chemin le moins couteux, celui du plus courts etc...
Bref très intéressant surtout la partie analyse.
Euh, juste une question: c'est quoi la diff entre fortement connexe et connexe tout cours ?
8 mars 2011 à 12:54
les codes source car je ne fait pas de c++
y a t'il des codes source relatifs à ce sujet avec Java
???????
merci de m'aidez
18 mai 2009 à 14:45
je suis très intéressée par votre programme mais j'ai un problème de compilation. Pourriez vous m'aider SVP
1>new.obj : error LNK2019: unresolved external symbol "public: __thiscall matrice::~matrice(void)" (??1matrice@@QAE@XZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::MenuPartie3(void)" (?MenuPartie3@Graph@@QAEXXZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::MenuPartie2(class matrice &)" (?MenuPartie2@Graph@@QAEXAAVmatrice@@@Z) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::MenuPartie1(class matrice &)" (?MenuPartie1@Graph@@QAEXAAVmatrice@@@Z) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::MatVal(class matrice &)" (?MatVal@Graph@@QAEXAAVmatrice@@@Z) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall matrice::afficher(void)" (?afficher@matrice@@QAEXXZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::Incidence(class matrice &)" (?Incidence@Graph@@QAEXAAVmatrice@@@Z) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::afficherG(void)" (?afficherG@Graph@@QAEXXZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: void __thiscall Graph::RemplireGraph(void)" (?RemplireGraph@Graph@@QAEXXZ) referenced in function _main
1>new.obj : error LNK2019: unresolved external symbol "public: __thiscall matrice::matrice(int,int)" (??0matrice@@QAE@HH@Z) referenced in function _main
1>D:\Documents and Settings\mkrichen\My Documents\Visual Studio 2008\Projects\new\Debug\new.exe : fatal error LNK1120: 10 unresolved externals
27 déc. 2006 à 22:04
Algo:
0 -> marque;
Tant qu'il existe un sommet s non marqué:
++marque;
marquer(s, marque);
Fin tantQue
avec marquer, l'algorithme qui marque tous les descendants d'un noeud. Cet algo peut être récursif, ou utiliser une FIFO/FILO; ici un exemple récursif:
marque -> marque[s];
Pour tout noeud N, tel qu'il existe un arc (s,N)
marquer(N, marque);
Fin pour
Voilu.
Sinon, à me relire plusieurs années après, je constate que j'ai pas mal évolué depuis le temps :)
Salut à tous.
27 déc. 2006 à 21:33
21 sept. 2004 à 15:50
mais enfin, c'est pas moi qui décide des termes ^^
21 sept. 2004 à 11:16
faiblement connexe: pour tout x,y du graphe G, il existe une chaine (x,y)
fortement connexe: pour tout x,y du graphe G, il existe un chemin (x,y)
dans le cadre non orienté, il n'y a pas différence donc on parle juste de connexe ou non connexe.
20 sept. 2004 à 17:55
Fortement connexe ne se dit que pour les graphes orientés, si depuis chaque sommet on peut atteindre tous les autres. Un graphe orienté fortement connexe est donc connexe et possède au moins un cycle.
Par contre je n'ai jamais rencontré "faiblement connexe".
15 sept. 2004 à 01:28
merci d'avoir pensée a ca
et pour le graphe avec un seul noeud c pas vraiment pratique car un graphe c au moin 2 noeud sinon c pas un graph même ds les flots il te faux une entrée et une sortie
et c vrai c pour eviter les problemes de la matrice sinon il faut tt revoir
15 sept. 2004 à 00:21
cout << endl << endl, on peux aussi faire cout << '\n' << endl, ou encore cout << "\n\n" ou encore avec <<flush si on veux vider le tampon.
void main, c'est pas standart donc pas portable.
Bref, j'ai pas trop regardé le code, mais par contre je fais une remarque:
je crée un graphe à un noeud, je veux le lier à lui même et là, impossible.
Ca ne fait que les graphes simples ? C'est pour éviter les problemes avec les matrices ?
15 sept. 2004 à 00:15
14 sept. 2004 à 21:07
sachant que ds un graphe fortement connexe 2 noeud ou sommet sont reliés par au moin 2 chemin
1 de x vers y
2 de y vers x
et il ya pas de connexe tt cours
on dis fortement connexe ou bien faiblement connexe ds le cas contraire
et merci pour votre commentaire et si vs avez plus de questions voici mon compte msn
keayoub@msn.com
14 sept. 2004 à 17:44
c'est pas chiffré, mais pour visualiser la chose, dis toi que qd on graphe est dense, ça commence à être VRMNT utile d'utiliser une matrice d'adjacence plutôt que des listes pour stocker les liaisons, parce que ta matrice prendra jamais plus de n² en place (avec n = nb de sommets), alors que tes listes ça va décoler :/
bon, si tu as un graphe directionnel, une "demi matrice" suffira bien entendu.
14 sept. 2004 à 17:33
Et à partir de quel moment il est "quasiment" complet ?
14 sept. 2004 à 17:19
14 sept. 2004 à 14:03
Puis l'implémentation des algos de recherche de chemin le moins couteux, celui du plus courts etc...
Bref très intéressant surtout la partie analyse.
Euh, juste une question: c'est quoi la diff entre fortement connexe et connexe tout cours ?