Bonjour
- je dois tirer 10 entiers aléatoires entre 0 et 99
- ensuite je dois les mettre dans un tableau de taille 10
- tous les entiers dans le tableau doivent être différents

J'ai fait le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#include<stdlib.h>
#include<time.h>
 
int *tab = malloc(10*sizeof(int));
srand((unsigned int) time(NULL)); /* pour initialiser rand() */
int aleatoire;
int k;
for(k=0;k<10;k++){
  aleatoire = rand()%(10); /* tire un entier entre 0 et 10 inclus */
  tab[k] = aleatoire;
}
J'ai du mal à tester si cet entier aleatoire a déjà été tiré, auquel cas il faut en choisir un autre et vérifier encore qu'il n'est pas dans le tableau déjà, puis le mettre dans le tableau.

Si quelqu'un peut m'aider, merci.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
/* En somme, comment faire pour ne pas avoir ce cas de figure : */
tab -> [5,12,56,48,42,78,98,12,45,63]

/* Avoir plutôt cela : */
tab -> [5,12,56,48,42,78,98,55,45,63]