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 :

Matrice et pointeurs


Sujet :

C

  1. #1
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Par défaut Matrice et pointeurs
    Bonjour, je suis débutant en programmation et on m'a demandé d'effectuer un programme pour faire "voler" un avion en console en c, j'ai donc décidé d'utiliser une matrice seulement j'ai des petits problèmes au niveau des pointeurs je crois.
    Pouvez vous m'aider ? voilà mon code :

    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
    #include "bibli est.h"
     
    void init()
    {
        int i;
        int j;
        int k;
        int l;
        x=25;
        y=50;
     
        int** matrice1[50][100];
     
        for(i=0; i<50; i++)
            for(j=0; j<100; j++)
            {
                matrice1[i][j]=0;
     
                int d=219;
                matrice1[x][y]=d;
     
                printf("%c", matrice1[i][j]);
            }
     
        int matrice2[1][100];
     
        for(k=0; k<1; k++)
            for(l=0; l<100; l++)
            {
                matrice2[k][l]=178;
                printf("%c",matrice2[k][l]);
            }
     
        Mvt(matrice1,i,j);
    }
     
     
    void Mvt(int** matrice1,int i,int j)
    {
        int a=1;
     
        while (a=1)
        {
            if (GetKeyState(VK_LEFT))
            {
                MVTG(matrice1,i,j);
            }
            else if (GetKeyState(VK_RIGHT))
            {
                MVTD();
            }
            else if (GetKeyState(VK_UP))
            {
                MVTH();
            }
            else if (GetKeyState(VK_DOWN))
            {
                MVTB();
            }
        }
    }
     
    void MVTG(int** matrice1,int i,int j)
    {
                    matrice1[x][y]=0;
                    int d=219;
                    matrice1[x-1][y]=d;
                    printf("%c", matrice1[i][j]);
    }
     
     
    avec la bibliothèque :
     
    #ifndef BIBLI_H_INCLUDED
    #define BIBLI_H_INCLUDED
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
    void init();
    void Mvt(int** matrice1,int i,int j);
    void MVTG(int** matrice1,int i,int j);
     
    int x;
    int y;
     
    #endif


    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    ESEO
    Inscrit en
    Novembre 2015
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ESEO
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2015
    Messages : 18
    Par défaut
    Tu n'as pas besoin de pointeur ! Si tu envoies la matrice en parametre dans tes fonctions elle sera modifiée sans avoir besoin de la retourner ou de la passer en pointeur

  3. #3
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Par défaut
    j'ai essayer mais la console crash toujours!
    Peut être que l'erreur ne vient finalement pas des pointeurs car il n'y a pas vraiment d'erreur a proprement parler, c'est juste que quand la console se lance puis affiche la matrice, elle plante que j'appuie sur la flèche de gauche.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Bonjour,
    En effet, le code utilise mal les pointeurs, mais a bien d'autre anomalies.
    Le C est un langage compilé. Lors de la conversion du texte en un exécutable , le compilateur signale ce qu'il ne comprends pas par des warnings ou des erreurs.
    Les warnings doivent être lus, il correspondent toujours à des anomalies; Beaucoup de problèmes disparaîtrons.
    Leur compréhension est difficile quand on ne connait pas le langage, mais indispensable.
    N'hésite pas à demander des explications.

    Cordialement,
    Dalfab
    PS: Il faut utiliser le bouton # pour présenter dans code dans tes messages.

  5. #5
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Par défaut
    Justement je voudrais savoir quelle est le problème au niveau des pointeurs et si c'est vraiment cela qui fait crash la matrice, ça fait déjà un petit bout de temps que j’essaie de régler ça sans jamais y arriver.
    Des solutions ?

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Bonjour,

    Lire les résultats du compilateur qui doit clairement indiquer que la déclaration de la matrice int** matrice1[50][100]; <=> tableau de tableaux de pointeurs de pointeurs sur des int.
    n'est pas compatible avec ce qui est attendu par la fonction void Mvt(int** matrice1,int i,int j) <=> pointeur de pointeurs sur des int.
    Et il y a beaucoup d'incohérences, donc des tas choses en plus de celle-ci qui provoquent un comportement imprévisible du logiciel.

Discussions similaires

  1. [AJAX] Code ajax
    Par christa_k dans le forum AJAX
    Réponses: 2
    Dernier message: 23/09/2009, 09h32
  2. regler un probleme avec mon code
    Par kachaloarmin dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/11/2007, 13h19
  3. Probleme avec mon code : Comment changer de JPanel
    Par serialkilled dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 17/12/2006, 10h13
  4. [Tableaux] probleme avec mon code pour faire un parseur !
    Par Joe-La-Boule dans le forum Langage
    Réponses: 10
    Dernier message: 11/10/2006, 15h35
  5. Problème avec mon code et avec gcc
    Par JavaAcro dans le forum Linux
    Réponses: 3
    Dernier message: 13/06/2006, 22h47

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