begin process at 2012 05 30 18:01:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

tableau à dimension variable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tableau à dimension variable

samedi 19 avril 2008 à 10:44:40 | tableau à dimension variable

youssefmahdia

bonjour les amis,
j'ai un problème en C, en fait, je veux créer un tableau à deux dimensions dont une est variable.
voila, je veux obtenir quelque chose qui ressemble à ça:
tab[????][???]={{0},{11,12,13,14},{22,23,24,25,26,27,28},{33,34,35,336,37,38,39,40,41,42},{55,56,57,58,59,60,61,62,63,64,65,67,68,69,70},,,,,}
en fait, si vous avez remarqué, je veux que chaque sous tableau contient 4*(son indice).
j'ai essayé avec for, switch, pourtant, j'ai pas arrivé.
voila, merci pour vos aides.
samedi 19 avril 2008 à 11:03:23 | Re : tableau à dimension variable

BruNews

Administrateur CodeS-SourceS
int *pints = (int*) malloc(nlins * ncols * sizeof(int));
if(!pints) return;
pints[idxCalculPerso] = valeur;


ciao...
BruNews, MVP VC++
samedi 19 avril 2008 à 11:25:58 | Re : tableau à dimension variable

jfrancois

Bonjour,

On ne peut pas créer un tableau triangulaire ! Il faut le "linéariser" et créer un indice unique pour accéder à une case mais encore faut-il que la progression de la longueur des lignes soit connue car dans l'exemple proposé, la longueur des lignes ne correspond pas à 4 fois l'indice : 4*0=0 et non 1, 4*1=4 ok, 4*2=8 et non 7, 4*3=12 et non 10, 4*4=16 et non 15.

Jean-François

samedi 19 avril 2008 à 13:04:54 | Re : tableau à dimension variable

youssefmahdia

merci monsieur,
mais pouvez vous m'écrire le programme complet, c'est à dire le remplissage du tableau et son affichage.
j'arrive pas à comprendre le fonctionnement de votre programme.
merci beaucoup
samedi 19 avril 2008 à 13:39:00 | Re : tableau à dimension variable

jfrancois

Voilà un exemple qui permet de traiter un tableau statique avec des lignes de longueur quelconque :

#include <stdio.h>
#include <stdlib.h>

int tab
(
    int iLigne   // E:indice de la ligne (à partir de 0)
   ,int iColonne // E:indice de la colonne (à partir de 0)
)                // S:valeur en (ligne,colonne) ou -1 si erreur
{
   // --- Tableau des valeurs (une seule ligne de valeurs
   // --- mais traité comme plusieurs pseudo-lignes)
   static const int aiValeurs[] =
   {
       0
      ,11,12,13,14
      ,22,23,24,25,26,27,28
      ,33,34,35,36,37,38,39,40,41,42
      ,55,56,57,58,59,60,61,62,63,64,65,67,68,69,70
   };
  
   // --- Nombre de pseudo-lignes dans le tableau
   static const int iNombreLignes = 5;

   // --- Tableau des longueurs des lignes
   static const int aiLongueurLignes[iNombreLignes] = {1,4,7,10,15};

   // --- Tableau des indices des débuts des lignes
   // --- (pour un accès rapide à chaque ligne)
   static const int aiDebutLignes[iNombreLignes] = {0,1,5,12,22};


   // --- Test des indices
   if (iLigne < 0  ||  iLigne >= iNombreLignes)
      return -1;
   if (iColonne < 0  ||  iColonne >= aiLongueurLignes[iLigne])
      return -1;

   // --- Retour de la valeur en (ligne,colonne)
   return aiValeurs[aiDebutLignes[iLigne] + iColonne];
}

int main(void)
{
   printf("tab(0, 0) = %d\n",tab(0,0));
   printf("tab(3, 6) = %d\n",tab(3,6));
   printf("tab(4, 3) = %d\n",tab(4,3));
   printf("tab(4,99) = %d\n",tab(4,99)); // erreur
   return EXIT_SUCCESS;
}


ce qui donne :

tab(0, 0) = 0
tab(3, 6) = 39
tab(4, 3) = 58
tab(4,99) = -1

Jean-François



Cette discussion est classée dans : variable, tableau, dimension


Répondre à ce message

Sujets en rapport avec ce message

tableau d'objet comme variable d'instance [ par MrKribou ] Bon dans le fichier .h (ou fait c comment qu'on appele se fichier la ? header ?) comment declare ton un tableau d'objet comme variable d'instance.Par tri dans un tableau a 2 dimension en cpp [ par vivo95 ] Bonjours, je rechercherai comment faire pour faire un tri dans un tableau a 2 dimension, je sais le faire dans un tableua a 1 dim mais la je seche.Mer Mettre une valeur dans un tableau (endroit précis) [ par did2604 ] Ma question peut paraître à priori un peu stupide, mais le programme étant bien plus long, la réponse à cette petite question m'aiderait grandement à Comment faire un tableau d'objet ?? [ par vinvay ] Voilà mon problème : j'ai une classe avec deux constructeurs, un qui ne fait rien et l'autre qui initialise une variable de cette classe.Je souhaite f Tableau de grande taille [ par LuckyNut ] Slut,J'ai un problème pour créer un tableau de grande taille à 2 dimensions : int tab[100][62000];Le programme plante sur un "stack overflow"Cette var Chaine de caracteres [ par NeoUmbrella ] Salut, je ne manie pas encore tres bien les chaines de caracteres et je veux éviter d'utiliser les String.J'aimerais savoir pourquoi j'ai une erreure petit problemes sur les tableaux ... [ par capoueidiablo ] Bonjour, bonjour, J'ai une petite question simple voir tres simple a poser, voila je me demandais si c'était possible de copier un tableau a n dimensi fonction tableau 2 dimensions [ par globe_dk ] Bonjour,J'aimerai savoir comment on fait pour passer un tableau a deux dimensions en parametre dans une fonction en passant par son adresse. J'arrive question debutant sur un pb de tableau [ par skyman272 ] j'ai 5 variable char qui s'appelle : membre1                                  &nb Passer un tableau à 2 dimension [ par tintin72 ] Bonjour,Je voudrais savoir comment écrire une fonction qui prend en paramètre un tableau à 2 dimension, et comment lui passer un tableau à 2 dimension


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales