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



LinkBack URL
About LinkBacks




