Accueil > Forum > > > > tableau à dimension variable
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
|
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
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|