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

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

tableau 2 dimension en C


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

tableau 2 dimension en C

mardi 17 janvier 2006 à 03:05:54 | tableau 2 dimension en C

Babar51

voila je cherche a modifié une entrée dans un tableau a 2 dimension en C ... j ai essayé le code suivant mais je n obtien que des echec ... en bon debutant je solicite votre aide :)

void Cap_mID(int *CapInfo[50][5],int id, int nvoid)
{
     *CapInfo[Cap_chID(&CapInfo,id)][0]= nvoid;
}

int Cap_chID(int CapInfo[50][5], int id)
{
    int i=0;
   
    while (Cap_ID(CapInfo,i)!=id) i++;
   
    return i;
}

si quelqu'un pourrai m expliqué comment corrigé se code pour qu il fonctionne cela m arrangerai beaucoup

Merci

mardi 17 janvier 2006 à 11:30:40 | Re : tableau 2 dimension en C

Alucards


Salut , tu dois creer un tableau a 2 entrees
int tableau [50][5]; // donc chaque case de ton tableau contient un int
apres si tu veux modifier les entrees de ton tableau tu dois parcourir le parcourir avec 2 boucles .
for(int i = 0; i <50; i++)
{
    for(int j = 0; j <5; j++)
    {
       tableau[i][j] = 0; // ou la valeur que tu veux stocker

    }
}

je pense que se sera plus simple de faire cmme cela

Tous les chemins mènent au RHUM !!!!!!!!!!!!!!!!!!!..............................
mardi 17 janvier 2006 à 11:39:09 | Re : tableau 2 dimension en C

Babar51

le probleme c est que je veux faire sa en procédure ... et j ai un probleme avec les pointeurs

merci quand meme de ta reponse
mercredi 18 janvier 2006 à 11:45:00 | Re : tableau 2 dimension en C

ctx_man

Salut,

Normalement c'est interdit de passer un tableau en parametre. Il y a une legere difference entre la declaration d'un tableau et celle d'un pointeur sur pointeur. Comme tu n'a pas le droit de passer un tableau en parametre, tu n'a pas le droit de definir sa taille :
int **CapInfo //et non int CapInfo[50][5]

Quand tu declare un pointeur sur pointeur, tu declare en fait plusieur chose
un pointeur sur pointeur qui ponte sur un tableau contenant lui-meme des pointeurs vers le type désiré.

//Declaration et allocation du tableau de pointeur
//Il doit faire la taille du nombre de ligne
int **CapInfo = (int*) malloc(50*sizeof(int*));

//Initialisation du tableau de pointeur
int i = 0;
while(i < 50)
{
    //Allocation de chaque colonne du tableau
    CapInfo[i] = (int) malloc(5*sizeof(int));
    i++;
}

Et seulement maintenant tu as le droit de faire CapInfo[10][3] = 20;
Tu peux aussi, maintenant que le tableau de pointeur pointe au bon endroit, le passer en parametre.
C'est de l'allocation dynamique, donc tu DOIS ABSOLUMENT penser a désallouer avant que ton programme se termine :

//Desallocation des colonnes
int i = 0;
while(i < 50)
{
    free(CapInfo[i]);
}
//Desallocation des lignes
free(CapInfo);

Le travail c'est la santé, ne rien faire c'est la préservé !!!
mercredi 18 janvier 2006 à 14:30:29 | Re : tableau 2 dimension en C

deck_bsd

Membre Club
Wohohooo c'est quoi c'est? int *CapInfo[50][5] ;) c'est pas bon tu doit déclarer comme ceci :

soit int *CapInfo[]
soit int CapInfo[50][5] /* pas recommandé, mais ça marche */
soit int **CapInfo

:D

Pour le reste (j'avai pas lu) ctx_man te la expliqué :p

bon code

++All
lundi 23 janvier 2006 à 11:42:53 | Re : tableau 2 dimension en C

ctx_man

Petite precision : int *Capinfo[]; // Normalement interdit en C Il manque une taille de tableau ou une liste d'initialisation. Le compilateur ne peut donc pas savoir la taille du tableau de pointeur a allouer. Cette declaration est valable uniquement pour char *argv[] dans le main dans la mesure ou c'est le system qui fixe la taille maximale du parametre. La taille n'est donc pas a specifier puisque le system la connait.


Cette discussion est classée dans : int, tableau, id, capinfo, cap


Répondre à ce message

Sujets en rapport avec ce message

tableau de caracteres [ par infodaoudi ] bonjour,j'ai une classeclass fich{int id;char *fich}je veux initialiser une liste de cette classeFich::Fich(int a){for(int i=0;i{   id=i;   fich= "<fo Allocation tableau dynamique ds structure [ par chental ] Salut à tous,Sauriez vous me dire comment allouer dynamiquement un tableau dans une structure ?J'arrive à faire l'essentiel mais dans la structure je générer une Pyramide dans un tableau à 2 dimensions [ par Selig ] Bonjour à tous, je débute en C et voila je bloque sur un exercice :Je dois générer une Pyramide dans un tableau à 2 dimensions dont je rentre la base, remplir un tableau avec des valeur aléatoire [ par Strick9 ] Bonjour à tous,voila je voudrai remplir un tableau avec des valeur aléatoirepar exemple:{int t[50],i;for(i=0;it[i]= ?????????   je sais qu'en java ça initialisation d'un tableau de structure [ par thmatew ] Bonjour a tous,meme si je ne débute pas en C je pense que ce message doit etre poser ici.je n'arrive pas a initialiser une structure en brut, un Exemp Trie bulle [ par afrikanoo ] #include #include void main(){ clrscr(); int n; <font color="#d3d3d appeler procedure passage par variable [ par sakjimh ] salut,j'ai reussit a crée une procedure qui initialise une matrice carrée avec un pointeur  **pvoid ini_matrice(int **p,int n){    int i,j;    p=(int Un tableau statique dans une méthode: c'est mal? [ par harddisk ] Bonjour,j'ai une méthode qui retourne un int (code ci-dessous):chercher une couleur dans une main de cartes, une main comprenant en membre un tableau Allocation dynamique, tableau à 2 dimensions [ par seb013 ] SalutMon problème est simple (la solution je ne sais pas). Je veux faire une allocation dynamique pour un tableau à deux dimensions. Alors pour un ta allocation dynamique d'un tableau [ par elpens ] Bonjour à tous,J'ai trouvé quelques thème sur ce forum concernant ma question, mais je n'arrive pas à l'appliquer...J'aimerai allouer dynamiquement la


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,733 sec (4)

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