cs_Zworykin
Messages postés12Date d'inscriptiondimanche 26 avril 2009StatutMembreDernière intervention 2 août 2009
-
28 juil. 2009 à 20:18
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011
-
16 août 2009 à 11:40
Bonjours à tous,
voila j'ai ce bout de code qui permets de trier un tableau mais je ne comprends pas trop son fonctionnement.
int t[dim] = { 6,7,8,9,1,0,3,2,5,4 };
int i,j,tmp;
for(i=0;i<dim;i++)
for (j=0;j<dim;j++)
if (t[i]<t[j])
{
tmp=t[i];
t[i]=t[j];
t[j]=tmp;
}
Je ne comprends pas comment on arrive à trier le tableau en commancant à i=0 et j=0.
Il est possible de déclarer un pointeur VOID ? et pourquoi si je le déclare en int et que je test sa valeur if(*int_ptr) ca ne fonctionne pas ? et le pourquoi du unsigned j'ai pas trop compris. Merci pour vos réponses.
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 31 juil. 2009 à 20:29
Salut,
Tu peux en déclarer un void* en C, oui (le C n'offrant pas la possibilité de surcharger, c'est utile pour les fonctions génériques, comme malloc() par exemple).
La meilleure solution je pense (même si certains vont me taper sur les doigts), c'est un cast :
int_ptr=(int*)lfind(...);
cs_Zworykin
Messages postés12Date d'inscriptiondimanche 26 avril 2009StatutMembreDernière intervention 2 août 2009 2 août 2009 à 04:12
merci uaip pour ton coup de pouce.
Je voulais savoir un truc, si je peux utiliser lfind, lsearh sur des entiers ou sur des réels. Est-il possible d'utiliser ces fonctions génériques sur de char ??????