Les pointeurs

mimou -  
Carri€ Messages postés 41 Statut Membre -
Bonjour,
j'ai une matrice trésgrandes et creuses je veut me representer cette matriceavec deux tableaux comment je veut faire ça

4 réponses

jemakaku Messages postés 11 Statut Membre 1
 
Hum... de tête (ah bah finallement non, j'ai testé! ^^) ça donnerait quelque chose dans le style... (j'espère que c'est en langage C ^^)

#include <stdio.h>

int main(void)
{
int ** p_p_nombres=NULL; // pointeur de pointeurS de nombreS
int n_lignes=10; // nombre de ligne (ou de colonnes, ca dépend comment tu veux t'organiser)
int n_colonnes=5; // idem
int i=0,j=0;

p_p_nombres=(int**)malloc(sizeof(int*)*n_lignes); // j'alloue de l'espace pour les lignes (j'aurai donc 10 pointeurs d'integer)

for (i;i<n_lignes;i++) // maintenant j'alloue de l'espace pour les colonnes
{
*(p_p_nombres+i)=(int*)malloc(sizeof(int)*n_colonnes);
}

// petit affichage pour le plaisir
printf("\nColonnes 0 1 2 3 4");
printf("\n ---------------------\n");
for (i=0;i<n_lignes;i++)
{
printf("Ligne %d | ",i);
for (j=0;j<n_colonnes;j++)
{
*(*(p_p_nombres+i)+j)=i*n_lignes+j; // j'initialise juste pour le plaisir encore
// j'utilie la notation "tableau" pcq bon.. c'est plus clair...
printf("%4d",p_p_nombres[i][j]);
}
printf("\n");
}
getchar();
return 0;
}
}
Bon amusement!

Jema
0
Carri€ Messages postés 41 Statut Membre 29
 
C'est pas tres clair tous ca..tu as une matrice...on va dire un tableau....a l'interieur duquel il y a un autre tableau c'est ca? bon et apres qu'est ce que tu veux en faire?? donnes nous deja ton debut de code s'il te plais...je garant rien mais ca pourrai nous donner une bonne base. ;o)
0
mype Messages postés 2449 Statut Membre 437
 
en faite une matrice 2d c'est la combinaison de deux tableau 1d je pense que c'est ça son truc(2 tableau...dans une matrice) donc le code de jemakaku repond parfaitement a la question il faut utiliser un pointeur de pointeur
0
Carri€ Messages postés 41 Statut Membre 29
 
haha! PAs de soucis oui! je m'apercois que j'ai repondu en même temps que jemakaku donc ca voir ca reponse...a la prochaine! ;o)
0