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 :

Problème accès tableau 2D dans structure


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Problème accès tableau 2D dans structure
    Bonjour, j’essaie de lire et d'écrire une valeur dans un tableau aux indice i et j donné par les fonctions rtab et wtab. La structure est donnée dans l'énoncé. Je dois donc garder le tableau tab de type int** tel quel. Et je ne vois pas du tout comment accéder à ce tableau afin de le modifier.
    Le problème se trouve aux lignes 25 et 35.
    Après de multiples recherches je n'ai toujours pas trouvé la solution. Pourriez vous m'éclairer sur ce sujet. Merci.

    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
    typedef struct{
    	int** tab;
    	int n;
    	int m;
    }tab2D;
     
    tab2D creeTab(int n_lignes,int n_colonnes){
    	tab2D t;
    	t.tab = (int**)malloc(sizeof(int)*n_lignes);
    	for(int i = 0; i < n_lignes; ++i)
    	{
    		t.tab[i] = malloc(sizeof(int)*n_colonnes);
    	}
    	t.n=n_lignes;
    	t.m=n_colonnes;
    	return t;
    }
     
    int rtab(tab2D t, int i, int j){
    	if (i > t.n || j> t.m)	{
    		printf("Erreur");
    		exit(1);
    	}
    	else 
    		return t.tab[i][j];
     
    }
     
    void wtab (tab2D t, int i, int j, int val){
    	if (i > t.n || j> t.m)	{
    		printf("Erreur");
    		exit(1);
    	}
    	else 
    		t.tab[i][j]=val;
    }

  2. #2
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    C'est pas normal que la première allocation alloue sizeof(int) * n_lignes. Tu devrais avoir sizeof(int *) * n_lignes.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    effectivement le soucis venait de là !
    Merci beaucoup, problème résolu

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Il y a un bouton pour cela . Ne l'oublie pas, il est là pour ça!

    Avec mes meilleures salutations

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'accès à une variable dans un tableau
    Par Bundy*Al dans le forum Langage
    Réponses: 1
    Dernier message: 11/09/2013, 11h44
  2. Réponses: 4
    Dernier message: 17/08/2012, 17h10
  3. [MySQL] Problème de tableau multidimensionnel dans une session
    Par harkness dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/02/2011, 11h06
  4. Problème de tableau dans une structure
    Par zarbiman dans le forum Réseau
    Réponses: 5
    Dernier message: 15/12/2007, 18h21
  5. Réponses: 7
    Dernier message: 21/12/2005, 16h44

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