allocation d'un tableau 3 dimensions
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

allocation d'un tableau 3 dimensions



  1. #1
    invitefc5b3186

    allocation d'un tableau 3 dimensions


    ------

    bonjour tout le monde!!

    je voudrai allouer un espace mémoire pour un tableau à 3 dimensions du type:
    float matrice[181][181][361].

    Pour cela j'écris:

    float ***matrice;
    int i=0;
    int j=0;
    matrice = (float***)malloc(181*sizeof(fl oat**));
    for(i=0; i!=181;i++)
    matrice[i] = (float**)malloc(181*sizeof(flo at*));
    for(j=0; j!=181;i++)
    matrice[j] = (float*)malloc(361*sizeof(floa t));

    mais à la compilation j'ai:
    AVERTISSEMENT: affectation d'un type pointeur incompatible(pour la dernière ligne)

    quellle est mon erreur??

    merci d'avance

    -----

  2. #2
    invite0919b5c3

    Re : allocation d'un tableau 3 dimensions

    Essaye ça

    float ***matrice;
    int i=0;
    int j=0;

    matrice = (float***)malloc(181*sizeof(fl oat**));

    for(i=0; i!=181;i++)
    matrice[i] = (float**)malloc(181*sizeof(flo at*));

    for(i=0; i!=181;i++)
    for(j=0; j!=181;i++)
    matrice[i][j] = (float*)malloc(361*sizeof(floa t));

  3. #3
    invitefc5b3186

    Re : allocation d'un tableau 3 dimensions

    Ben maintenant il dit que j'ai une erreur de segmentation!!!

  4. #4
    invitefc5b3186

    Re : allocation d'un tableau 3 dimensions

    en fait c'est sans doute parceque je n'ai pas désalloué!!!
    Pour désallouer il faut faire la mme chose??

  5. A voir en vidéo sur Futura
  6. #5
    invite0919b5c3

    Re : allocation d'un tableau 3 dimensions

    sans trop réflechir (j'ai faim ) je dirais oui.

  7. #6
    invitefc5b3186

    Re : allocation d'un tableau 3 dimensions

    ok dac' et merci!!

  8. #7
    inviteb865367f

    Re : allocation d'un tableau 3 dimensions

    Attention au coiper/coller ..

    for(j=0; j!=181;i++)

  9. #8
    invite84f7e699

    Re : allocation d'un tableau 3 dimensions

    Et puis vaut mieux faire:

    Code PHP:
    for(i=0i<181i++) 

  10. #9
    invitefc5b3186

    Re : allocation d'un tableau 3 dimensions

    c'était bien ça jérémy
    merci

  11. #10
    invitee9fd7c2c

    Re : allocation d'un tableau 3 dimensions

    Hum, vous bouffer de la RAM et du temps CPU a faire ca comme ca.
    Une facon de le faire si tu as juste besoin du tab[181][181][361] :
    Code:
    float *tab;
    tab = (float *)malloc(sizeof(float) * 181 * 181 * 361);
    Il ne faut pas oublier qu'un tableau à 3 dimensions n'est en fait qu'un tableau à une seule dimension..

  12. #11
    invite84f7e699

    Re : allocation d'un tableau 3 dimensions

    Et l'adressage dans tout ça ?
    Parce qu'avec ta méthode on a un tableau linéaire, impossible de faire:

    Code PHP:
    tab[3][5][0
    Par exemple.

  13. #12
    invitee9fd7c2c

    Re : allocation d'un tableau 3 dimensions

    tab[3][5][0] <==> *(tab + 0 + 5*181 +3*181*181)
    Si on prend soin de creer des variables pour les 181 et les 181*181, ca fait un code pas trop dégueux.
    Cette méthode a des inconvénient, c'est vrai (un peu de gymnastique mentale), mais dans certains cas, cela peut etre interressant de pouvoir considerer son tableau soit unidimensionnellement, soit tridimentionellement (utilisation d'une seule boucle pour parcourir le tableau, permet le retour d'une case [x][0] à la case [x-1][taille_max] très facilement. (evite les saut conditionnel).
    Donc tout est question du contexte, et ne le connaissant pas, c'est pour ca que j'aai présenté cette méthode.

  14. #13
    invite3a9de64a

    Arrow Re : allocation d'un tableau 3 dimensions

    salut tt le monde

    alor apparement c un language de prog' que je connait pas !

    mais pour info ,pour ceux que ca intéresserai :

    en QB on fait :

    DIM nomdutableau(x*y*z) as long

    (je croi ! )

    @+

Discussions similaires

  1. Le Tri d'un tableau
    Par invite71aa5c98 dans le forum Logiciel - Software - Open Source
    Réponses: 12
    Dernier message: 20/05/2007, 09h57
  2. Dimensions d'un atome
    Par invite510ddd2c dans le forum Physique
    Réponses: 1
    Dernier message: 11/09/2006, 18h30
  3. les dimensions d'un rectangle
    Par invite7bd49001 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 05/03/2006, 17h05
  4. Représentation d'un espace à N dimensions
    Par invite36dac211 dans le forum Physique
    Réponses: 50
    Dernier message: 19/03/2005, 18h29
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...