Tableau de tableau

Résolu/Fermé
Blaky - Modifié par Blaky le 29/10/2013 à 21:07
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 oct. 2013 à 21:35
Bonjour,
Dans le cadre d'un projet je dois utiliser un tableau de tableaux.
Ajouter des dimensions n'est pas une option, ni faire un tableau de pointeurs (malheureusement).

voici le code basique illustrant le problème que je rencontre :



#define DIM_LIGNE 12
#define DIM_COLONNE 10
#define INFO_CASE 2

typedef int t_tab1[INFO_CASE];
typedef t_tab1 t_tab2[DIM_LIGNE][DIM_COLONNE];


int main(void)
{
t_tab1 case1;
t_tab2 grille;

case1[0] = 0;
case1[1] = 1;

grille[0][1] = case1;

return 0;
}

l'erreur est (selon les environnements) :

left operand must be l-value (visual studio)

ou
error: invalid array assignment (code::blocks)

sur la ligne "grille[0][1] = case1;"

Je sais qu'il serait probablement plus simple de faire un tableau a 3 dimensions ou alors de faire des tableaux de pointeurs de tableaux. cependant l'énoncé dit formellement : "utiliser un tableau à deux dimensions qui contient dans chacune de ses cases, un autre tableau qui peut contenir deux entiers."

J'ai tourné le problème dans tout les sens et je n'ai pas moyen de contacter le professeur avant plusieurs jours... Quelqu'un aurait-il une idée ?

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
29 oct. 2013 à 21:04
Bonjour,

Ah, c'est tellement agréable qu'une personne nous précise ce que dit son compilateur et à quel endroit :-).

Pour répondre à ta question, tu ne vas pas avoir trop le choix. Tu vas devoir faire un tableau de pointeurs à 2 dimensions.
Par exemple : int *tab[X][Y];
Chaque élément tab[i][j] contiendra l'adresse d'un tableau.

Sinon, tu peux utiliser les structures ?
1
Ta solution me semble être la plus juste, c'est comme cela que j'aurais fait si le professeur ne nous avait pas demandé de ne pas utiliser un tableau de pointeurs..
même si je sais utiliser les structures, celles-ci n'ont pas été abordées en cours, donc je vais éviter de les utiliser !

Je pense que je vais partir avec les pointeurs, et contient a envoyer des mails a mon professeur pour lui demander de m'éclairer !!

merci pour ton aide :)

Je tiendrai au courant du choix final et là, je mettrai résolu ou non
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
29 oct. 2013 à 21:35
Beh, si tu ne peux pas utiliser des pointeurs, ni un tableau à 3 dimensions ni de structures, tu ne vas pas pouvoir aller bien loin ^^.
0