Te escribi un pequeño ejemplo que hace lo que pides, la unica diferencia es que aqui manejo el carton como un Arreglo LINEAL.
Salida de Ejemplo:
Código:
C:\codigos>bingo.exe
Llenamos carton
El numero 34, se encuentra en el carton en la posicion 3
El numero 89, se encuentra en el carton en la posicion 9
El numero 65, se encuentra en el carton en la posicion 11
El numero 52, se encuentra en el carton en la posicion 5
El numero 14, se encuentra en el carton en la posicion 12
El numero 88, se encuentra en el carton en la posicion 10
El numero 11, se encuentra en el carton en la posicion 13
El numero 38, se encuentra en el carton en la posicion 6
40 35 1 X 50
X X 85 54 X
X X X X 73
Código
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<time.h> int main() { int carton[15]; int numeros_bingo[30]; int no_duplicados[90] = {0}; int esta_en_carton[90] = {0}; int indice_en_carton[90] = {0}; int marcar_con_X[90] = {0}; int i = 0,j,k,r; i = 0; do { if(no_duplicados[r] == 0){ carton[i] = r; esta_en_carton[r] = 1; //Bandera en la posicion del numero que si esta en el carton seteada a 1 indice_en_carton[r] = i++; //Guardamos en la posicion del numero que si este en el carton el valor del indice donde este mismo numero se encuentra en el carton } }while(i < 15); //Sacamos 30 numeros; i = 0; while(i < 30) { do { }while(no_duplicados[r] == 1); no_duplicados[r] = 1; numeros_bingo[i] = r; i++; } //Ahora ya que tenemos los 30 numeros del bingo evaluamos el carton i = 0; while(i < 30) { if(esta_en_carton[numeros_bingo[i]] == 1) { //Este if nos dice que numeros del bingo estan actualmente en el carton marcar_con_X[numeros_bingo[i]] = 1; printf("El numero %i, se encuentra en el carton en la posicion %i\n",numeros_bingo[i],indice_en_carton[numeros_bingo[i]]); } i++; } //Ahora imprimimos el carton i = 0; k = 0; while(i < 3) { j = 0; while(j < 5) { if(marcar_con_X[carton[k]] == 1){ } else { } k++; j++; } i++; } }


