void atribuirValores(VetorBi *matriz){ int i,j, iInicial, iFinal, jInicial, jFinal, num, cont=0, addNum=1, terminou =0,acabou=0, aux; int verifLinha=0, verifColuna=0, verifRegiao=0; iInicial = 0; iFinal = 2; jInicial = 0; jFinal = 2; int vetor[9]; srand( time(NULL) ); iniciarMatriz(matriz, vetor); embaralharNumeros(vetor); do { for ( i = iInicial; i <= iFinal; i++ ) { for ( j = jInicial; j <= jFinal; j++ ) { if(iFinal <=2 && jFinal <= 2){ matriz->matriz[i][j] = vetor[cont]; cont++; } else{ terminou = 0; do{ if(j>2)verifLinha = verificaLinha(matriz, i, j, addNum); if(j>0)verifColuna = verificaColuna(matriz, j, addNum); else verifColuna = verificaColuna(matriz, i, addNum); verifRegiao = verificatresPorTres(matriz, iInicial, jInicial, i, jFinal, addNum); if(verifLinha == 0 && verifColuna == 0 && verifRegiao == 0){ matriz->matriz[i][j] = addNum; terminou = 1; } /* if(i == iFinal && j == jFinal && terminou ==0 && addNum !=0){ matriz->matriz[i][j] = addNum; do{ acabou = trocarValor(matriz, iInicial, jInicial, iFinal, jFinal); }while(acabou != 1); }*/ addNum++; }while(terminou != 1); addNum = 1; } verifLinha=0; verifColuna=0; verifRegiao=0; } } cont = 0; embaralharNumeros(vetor); jInicial = jFinal + 1; jFinal = jFinal + 3; if(jFinal > 8){ iInicial = iFinal + 1; iFinal = iFinal + 3; jInicial = 0; jFinal = 2; } }while(iFinal <9); }
main() { FILE * archi; int tamanoRegistro = sizeof(Cliente); int cantidadRegistros; int N = -1; int filas; system("cls"); archi = fopen("clientes.dat", "w+b"); if (archi == NULL) { exit(1); } //TODO aqui va el menu cargarClientes(archi); cantidadRegistros = ftell(archi) / tamanoRegistro; Cliente vec[cantidadRegistros]; generarVectorPolizas(archi, vec, N); listarVector(N, vec); filas = frecuenciaMayor(archi); printf("\n\nFrecuencia Maxima: %d", filas); printf("\n\n"); float matriz[filas][5]; iniciarMatriz(filas, matriz); deArchivoAMatriz(archi, matriz); mostrarMatriz(filas, matriz); fclose(archi); printf("\n\n"); system("pause"); }