| 12
 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
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 
 | #include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define NMAX 200
 
void gen_aleat( char v[], int n )
{
 int i;
 /* rand() retourne un entier aléatoire de l'ens {0,1,2,..,RAND_MAX} (RAND_MAX fixé à 32767 sous VC++)*/
 for(i = 0; i < n; i++) v[i] = rand()%(122-97) +97;/* pour avoir aussi des nbrs<0 */
}
 
void aff_vect( char v[], int n )
{
 int i;
 for( i = 0; i < n; i++ )
 {
	 printf( "%c", v[i] );
     if ( (i+1) % 10 == 0 ) printf( "\n" );
 }
 printf( "\n" );
}
 
void doublons (char v[], int n)
{
    int i;
    int j;
    int cpt;
    char echange;
 
    i = 0;
    while (i < n)
    {
        j = i + 1;
        while (j< n)
        {
            while (v[i]==v[j])
            {
                cpt = cpt + 1;
                v[j]=' ';
                echange = v[j];
                v[j] = v[n-cpt];
                v[n-cpt]=echange;
            }
            j = j +1;
        }
        i = i + 1;
    }
}
 
int main()
{
    char v[NMAX];
    int n;
    int ok;
 
    srand(time(NULL));
 
    do
    {
     printf( "Entrer le nb d'elements du vecteur ( <= %d ) : ", NMAX );
     ok = scanf( "%d", &n );
	 while( getchar( ) != '\n' );  /* ou fgets(vb,80,stdin)  avec  char vb[81];  */
   }while( !ok || n < 0 || n > NMAX );
 
    gen_aleat( v, n );
    printf( "Voici le tableau genere :\n" );
    aff_vect( v, n );
 
    printf("Voici le tableau apres suppression des doublons : \n");
    doublons(v,n);
 
    return 0;
} | 
Partager