Hi everyone!
I am trying to generate a sequence of random numbers between 1-100 without duplicates.
The problem is that I do not manage to prevent duplicates from being produced.
The program will serve to avoid the positions in the tables in a championship of poker.
Thank you in advance.
That's the code:
Code:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
int main () {
int nummesas;
int numjugadores;
int jugxmesa=10;
int nummesa;
int numjug;
int numpos;
int matriz[10][10];
srand (time (NULL)) ;
printf(" \n");
printf("Introduce el numero de jugadores: ");
scanf("%d", &numjugadores);
printf(" \n");
if (numjugadores>=0){
printf(" - Participan %d jugadores \n \n", numjugadores);
nummesas=numjugadores/jugxmesa;
if(numjugadores!=100){
if(numjugadores<=99 && numjugadores>=91)
nummesas=10;
if(numjugadores<=90 && numjugadores>=81)
nummesas=9;
if(numjugadores<=80 && numjugadores>=71)
nummesas=8;
if(numjugadores<=70 && numjugadores>=61)
nummesas=7;
if(numjugadores<=60 && numjugadores>=51)
nummesas=6;
if(numjugadores<=50 && numjugadores>=41)
nummesas=5;
if(numjugadores<=40 && numjugadores>=31)
nummesas=4;
if(numjugadores<=30 && numjugadores>=21)
nummesas=3;
if(numjugadores<=20 && numjugadores>=11)
nummesas=2;
if(numjugadores<=10 && numjugadores>=1)
nummesas=1;
}
printf(" - Los jugadores ocuparan %d mesas \n \n", nummesas);
}
else
printf("El numero de jugadores %d no es valido. \n \n", numjugadores);
printf(" \n\n\n\n");
system("PAUSE");
system("cls");
for(nummesa=1;nummesa<=nummesas;nummesa++){
for(numpos=1;numpos<=10;numpos++){
printf("\n\n");
printf("TABLE NUMBER: %d \n\n", nummesa);
printf("POSITION ON TABLE: %d \n\n", numpos);
//aqui una matriz que indique la posición en la mesa
//falta crear la funcion
int c;
int f;
numjug=(1 + rand() % 100);
printf("\n\n");
printf(" ...................................\n");
printf("\n");
for(c=1;c<6;c++)
printf("\n");
printf(" ...................................\n");
printf("\n\n");
printf("Jugador Numero: %d \n\n", numjug);
//comparar con numero registrado en lista
//mostrar jugador asignado a numero
printf("\n\n");
system("PAUSE");
system ("cls");
}
}
system("PAUSE");
return 0;
}
The problem is there:
Code:
for(nummesa=1;nummesa<=nummesas;nummesa++){
for(numpos=1;numpos<=10;numpos++){
printf("\n\n");
printf("TABLE NUMBER: %d \n\n", nummesa);
printf("POSITION ON TABLE: %d \n\n", numpos);
//aqui una matriz que indique la posición en la mesa
//falta crear la funcion
int c;
int f;
numjug=(1 + rand() % 100);
printf("\n\n");
printf(" ...................................\n");
printf("\n");
for(c=1;c<6;c++)
printf("\n");
printf(" ...................................\n");
printf("\n\n");
printf("Jugador Numero: %d \n\n", numjug);
//comparar con numero registrado en lista
//mostrar jugador asignado a numero
printf("\n\n");
system("PAUSE");
system ("cls");
}
}
sys