Programme pour déterminer la matrice d'un graphe
Répondre à la discussion
Affichage des résultats 1 à 21 sur 21

Programme pour déterminer la matrice d'un graphe



  1. #1
    invite14d2057b

    Programme pour déterminer la matrice d'un graphe


    ------

    Bonjour
    SVP je suis bloqué écossais de compiler ce programme pour mes élèves mais j'arrive pas.
    Je comprends pas mes erreurs.
    Code:
    #include <iostream>
    #include <iomanip>
    using namespace std ;
    // A function to print the adjacency matrix.                              
    void PintMat(int mat[][10],int n){
        int i,j;
    cout<<"\n\n"<<setw(4)<<" ";
    for(i=0;i<n; i++)
    cout<<setw(3)<<"("<<i+1<<")";
    cout<<"\n\n"; 
    //Print 1 if the corresponding vertexesare connected otherwise 0.
    for(i=0;i<n;i++){
    cout<<setw(3)<<"("<<i+1<<")";
    for(j=0;j<n;j++){
    cout<<setw(4)<<mat[i][j];
    }
     cout<<"\n\n";
        }
    main(){
    int i,j,v;
    cout<<"enter the number of vertexes:";
    cin>>v;
    int mat[10][10]
    cout<<"\n";
    //Take input of the adjacency of each pair of vertexes.
    for(i=0;i<v;i++){
        for (j=i;j<v;j++){
            if(i!=j){
                cout<<"enter 1 if vertex"<<i+1<<"is adjacent to"<<j+1<<" , otherwise 0: ";
                cin>>mat[i][j];
                mat[i][j]=mat[i][j];
            }
            else 
            mat[i][j]=0;
        }
    }
    
            PrintMat(mat,v);
            return 0;
    }
            
    //Lets run the program.
    Compilation failed due to following error(s).main.cpp: In function ‘void PintMat(int (*)[10], int)’:
    main.cpp:26:6: error: ‘main’ was not declared in this scope
    main(){
    ^
    main.cpp:47:1: error: expected ‘}’ at end of input
    }

    -----
    Dernière modification par Jack ; 28/01/2021 à 11h43. Motif: Balises code

  2. #2
    Paraboloide_Hyperbolique

    Re : Programme pour déterminer la matrice d'un graphe

    Bonjour,

    Petit conseil: utilisez les balises pour rendre votre code plus lisible.

    Concernant votre erreur, le compilateur indique qu'il manque une accolade fermante dans votre code. Je crois qu'il faudrait en rajouter une à la fin de votre fonction 'PintMat' (avant la fonction main).

  3. #3
    umfred

    Re : Programme pour déterminer la matrice d'un graphe

    et attention, la fonction déclarée PintMat est appelé par PrintMat dans le main, ça va coincer aussi sur ça.

  4. #4
    Jack
    Modérateur

    Re : Programme pour déterminer la matrice d'un graphe

    Bonnes remarques.

    Comme quoi une indentation correcte permet d'éviter ce genre d'erreur (accolade manquante).

    J'ajouterais l'oubli du type de la fonction main qui est un int en l'occurrence vu le return 0 final.

    Et pour finir, merci de respecter les consignes de ce forum à l'avenir:
    - indentation
    - balises code
    - indication du langage
    - etc.

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : Programme pour déterminer la matrice d'un graphe

    Comme je suis de bonne humeur aujourd'hui, voici le code remis en forme et corrigé des erreurs énoncées ci-dessus.
    Code:
    #include <iostream>#include <iomanip>
    using namespace std;
    // A function to print the adjacency matrix.                              
    void PrintMat(int mat[][10], int n) {
        int i, j;
        cout << "\n\n" << setw(4) << " ";
        for (i = 0; i < n; i++)
            cout << setw(3) << "(" << i + 1 << ")";
        cout << "\n\n";
        //Print 1 if the corresponding vertexesare connected otherwise 0.
        for (i = 0; i < n; i++) {
            cout << setw(3) << "(" << i + 1 << ")";
            for (j = 0; j < n; j++) {
                cout << setw(4) << mat[i][j];
            }
            cout << "\n\n";
        }
    }
    
    
    int  main() {
        int i, j, v;
        cout << "enter the number of vertexes:";
        cin >> v;
        int mat[10][10]
        cout << "\n";
        //Take input of the adjacency of each pair of vertexes.
        for (i = 0; i < v; i++) {
            for (j = i; j < v; j++) {
                if (i != j) {
                    cout << "enter 1 if vertex" << i + 1 << "is adjacent to" << j + 1 << " , otherwise 0: ";
                    cin >> mat[i][j];
                    mat[i][j] = mat[i][j];
                }
                else
                    mat[i][j] = 0;
            }
        }
    
    
        PrintMat(mat, v);
        return 0;
        }
    Essai de le recompiler.
    Dernière modification par Jack ; 28/01/2021 à 14h01.

  7. #6
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    Merci bcp mais ca fonctionne pas toujours
    J'ai ces messages
    main.cpp:8:20: warning: extra tokens at end of #include directive
    #include <iostream>#include <iomanip>
    ^
    main.cpp: In function ‘void PrintMat(int (*)[10], int)’:
    main.cpp:13:29: error: ‘setw’ was not declared in this scope
    cout << "\n\n" << setw(4) << " ";
    ^
    main.cpp: In function ‘int main()’:
    main.cpp:33:9: error: expected initializer before ‘cout’
    cout << "\n";
    ^~~~
    main.cpp:39:24: error: ‘mat’ was not declared in this scope
    cin >> mat[i][j];
    ^~~
    main.cpp:43:17: error: ‘mat’ was not declared in this scope
    mat[i][j] = 0;
    ^~~
    main.cpp:48:14: error: ‘mat’ was not declared in this scope
    PrintMat(mat, v);
    ^~~

  8. #7
    pm42

    Re : Programme pour déterminer la matrice d'un graphe

    Citation Envoyé par mehrezthlijeni Voir le message
    Merci bcp mais ca fonctionne pas toujours
    J'ai ces messages
    main.cpp:8:20: warning: extra tokens at end of #include directive
    #include <iostream>#include <iomanip>
    Tu pourrais faire l'effort de lire le code et de voir que par erreur, 2 #include se retrouvent l'un après l'autre sur la même ligne plutôt que un par ligne.
    Jack a déjà été très gentil de te fournir un code complet. Tu ne peux pas apprendre à programmer si tu ne détecte et ne corrige pas des erreurs aussi simples que celle là.

  9. #8
    Jack
    Modérateur

    Re : Programme pour déterminer la matrice d'un graphe

    Ah, mince, je n'avais pas vu ces 2 include.

    Pour le setw, il faut inclure l'entête iomanip. N'hésite pas à consulter la doc. cppreference ou cplusplus sont très bien.


    PS: iomanip était bien inclus, mais pas détecté parce que sur la même ligne que l'autre include
    Dernière modification par Jack ; 28/01/2021 à 13h53.

  10. #9
    Jack
    Modérateur

    Re : Programme pour déterminer la matrice d'un graphe

    Pour la dernière erreur, il faut mettre un ";" à la fin de la ligne déclarant la matrice.

  11. #10
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    Jack gentil et vous ça ce soit vous êtes très gentil. Merci beaucoup. Oui simple pour vous. Moi j'ai fait un effort.

  12. #11
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    Jack merci est ce que tu peux m'écrire le code complet pour que je puisse le compiler. Je suis débutant dans la programmation.

  13. #12
    Jack
    Modérateur

    Re : Programme pour déterminer la matrice d'un graphe

    C'est ce que je viens de faire. Avec ces corrections, il compile.

  14. #13
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    Je compile sur un site c'est lent y a pas un autre site pour compiler en ligne.

  15. #14
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    Quelle est la signification de ces erreurs
    main.cpp:41:24: error: ‘mat’ was not declared in this scope
    cin >> mat[i][j];
    ^~~
    main.cpp:45:17: error: ‘mat’ was not declared in this scope
    mat[i][j] = 0;
    ^~~
    main.cpp:50:14: error: ‘mat’ was not declared in this scope
    PrintMat(mat, v);
    ^~~
    merci

  16. #15
    Jack
    Modérateur

    Re : Programme pour déterminer la matrice d'un graphe

    Citation Envoyé par mehrezthlijeni Voir le message
    Je compile sur un site c'est lent y a pas un autre site pour compiler en ligne.
    Je ne suis pas voyant.

  17. #16
    Jack
    Modérateur

    Re : Programme pour déterminer la matrice d'un graphe

    Citation Envoyé par mehrezthlijeni Voir le message
    Quelle est la signification de ces erreurs
    main.cpp:41:24: error: ‘mat’ was not declared in this scope
    cin >> mat[i][j];
    ^~~
    main.cpp:45:17: error: ‘mat’ was not declared in this scope
    mat[i][j] = 0;
    ^~~
    main.cpp:50:14: error: ‘mat’ was not declared in this scope
    PrintMat(mat, v);
    ^~~
    merci
    Il faudrait voir ton code, si tu as bien tenu compte des remarques.

  18. #17
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    J'ai réussi C'était juste un ; qui manquait

  19. #18
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    mais je comprends pas normalement dans la matrice il y a que 1 ou 0. J’obtiens par exemple

    (4)6299704 0 0 0

    6299704 normalement 1 ou 0.

  20. #19
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    C'est bon finish tout va bien. Merci

  21. #20
    invite14d2057b

    Re : Programme pour déterminer la matrice d'un graphe

    C'est bon finish j'ai réussi. Merci . Y a t-il des sites pour apprendre tout le language.

  22. #21
    Jack
    Modérateur

    Re : Programme pour déterminer la matrice d'un graphe

    Citation Envoyé par mehrezthlijeni Voir le message
    J'ai réussi C'était juste un ; qui manquait
    Celui dont je parlais dans mon message #9?
    Y a t-il des sites pour apprendre tout le language
    oui, un bon début ici. Le tuto n'est pas terminé, mais il est déjà bien fourni.

Discussions similaires

  1. Déterminer l'ordre d'un graphe orienté.
    Par invitedb6c0e9c dans le forum Mathématiques du supérieur
    Réponses: 12
    Dernier message: 02/05/2020, 17h05
  2. Déterminer la matrice de passage entre deux repères pour une centrale inertielle
    Par invite61aebb7a dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 02/12/2016, 13h28
  3. Existe-t-il une méthode suffisante pour determiner si un graphe est Hamiltonien?
    Par invite188b808b dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 22/06/2016, 13h23
  4. [Matrice] Determiner la matrice diagonale à partir de la matrice inverse
    Par invite9bb30a60 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 08/06/2012, 17h48
  5. Inverser une matrice pour un programme
    Par invite3aee490e dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 16/05/2009, 21h40