Je veut écrire un programme (en C) qui génére aléatoirement un nombre de n chiffres donnés tel que pas de répétions de chiffres (par exemple : 1231 est interdit tous les chiffres doivent être différents : n=4 _1234, 7658, …, n5_12345,87430…..)
J’ai proposé cette méthode mais ça ne marche pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <math.h>
 
main()
{int i,n,j,max,min,x,e;
char c[100];
do
{printf ("Entrz la taille de la chaine:");
scanf ("%d",&n);
max =(int)pow(10.0,(double)(n+1))-1;
min =(int)pow(10.0,(double)n);
}
while ((n<=0) || (n >100));
 
 do
 {x=(rand () % max+1-min) + min;
 itoa (x,c, 10);
 e=0;
 for (i=0;i<n;i++)
 {
 for (j=0;i<n;j++)
 if (c[j]!==c[i])
 e=1;
}
}
while (e=1);
printf("la valeur est %d;",x);
system ("pause");
}