tomalille
Messages postés52Date d'inscriptionjeudi 16 juin 2005StatutMembreDernière intervention 5 juin 2007
-
23 sept. 2005 à 05:26
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 2009
-
24 sept. 2005 à 01:36
Bonjour, je suis en train d'écrire un programme et je voudrai faire une fonction qui renvoit un tableau d'entier.
Je n'arrive pas à faire la spécif.
Vous verrez dans le programme suivant, je veux que dénombrement renvoi un tableau de int.
De plus mon prog fonctionne bien mais quand on demande à windows une liste de plus de 30 éléments avec le tri base alors ca plante! Bizare!!
void main(void)
{
//Initialisation des variables
int max =5;
int i = 0;
int temp = 0;
int* tab = NULL;
printf("\n Entrer la longueur du tableau \n");
scanf("%d",&max);
tab = (int*)malloc(max*sizeof(int));
//valeur au hasard
srand( (unsigned)time( NULL ));
for( i = 0;i < max;i++ )
tab[i]=rand();
//Présentation du tableau
printf("\n **** Tableau de depart **** \n");
for(i=0;i<max;i++)
printf("%d \n",tab[i]);
//Résultat final
printf("\n **** Tableau final **** \n");
for(i=0;i<max;i++)
printf("%d \n",tab[i]);
printf("\n");
}
int denombrement(int* tab,int c,int max)
{
int i = 0;
int k = 9;
int lg = max;
int div = 1;
int* tab1 = NULL; // Tableau de compte
int* tab2 = NULL; // Tableau de résultats
int* inter = NULL; //tableau de travail
//construction du div
for(i=1;i<=c;i++)
{
div=div*10;
}
//construction du tableau de travail
inter = (int*)malloc((max)*sizeof(int));
for(i=0;i<max;i++)
{
inter[i]=tab[i]%div/(div/10);
// printf("\n %d \n ",inter[i]);
}
//recherche de la valeur maximale du tableau
/*for(i=0;i<max;i++)
{
if(inter[i]>k)
k=inter[i];
}
*/
//Construction du "tableau de compte"
tab1 = (int*)malloc((k+1)*sizeof(int));
for(i=0;i<=k;i++)
{
tab1[i]=0;
//Tri par base
void base(int* tab,int max)
{
int i=0;
int temp=0;
int buff = 0;
int div=1;
int c=1; //Nombre de chiffres max de représentation des valeurs à tester