Ir ao conteúdo
  • Cadastre-se

guilherme_rangel

Membro Júnior
  • Posts

    17
  • Cadastrado em

  • Última visita

Reputação

0
  1. nas opções do monitor a uma opção "Correção de Moiré", desabilita esta opção e ve se o problema se resolveu. valeu
  2. oi, primeiro devemos tratar o atributo corretamente, altura como o tipo Double ou float, voce poderia tratar o nascimento como int ja que so precisamos do ano do nascimento... será preciso criar um método para efetuar o calculo procure sobre a classe Calendar com ela existe um método chamadoCalendar.YEAR que com ele você buscar o ano atual para imprimir os dados na tela procure saber um pouco sobre o método toString() valeu
  3. ola Simon primeiro gostaria de agradecer o apoio, para que não haja nenhuma duvida vou colocar o enunciado do que está sendo pedido bla bla bla bla....você só tem de receber as informações(vão vir de um txt onde tem as coordenadas das minas) sobre as posições de cada mina (coordenadas (x, y)) e determinar o maior retângulo livre de minas que pode ser encontrado, informando sua localização e sua área. Você sabe que o terreno inicial tem no máximo 100000 × 100000 unidades e que haverão no máximo 1000 minas.(no caso estou fazendo para uma matriz 5x5 com 5 minas) no exemplo q eu postei, teria 2 resultados como segue.. ou seja 2 retângulos com 12 de área o jeito que eu pensei inicialmente foi... eu percorreria toda a matriz... vou tentar me expressar usando a imagem acima, eu percorreria toda a primeira linha procurando alguma mina e ja contando e armazenando os espaços em branco, qd fosse encontrada uma mina como na imagem (1,0) eu travaria a linha a partir da posição 1, e continuaria percorrendo quando achasse outra mina (3,4) eu saberia q tudo que ta acima daquela posição da coluna(e da direita ou esquerda dependendo) deveria ser decrementado das posições livres ja armazenadas dai eu saberia a area do retangulo q foi formado, e continuaria com esse fluxo até o final da matriz e iria comparando com o retangulo formado com o que está sendo formado e vendo qualq é maior pelo numero maior de area.. eu teria q fazer isso novemente para testar a partir da mina q foi encontrada e tentaria fazer o fluxo novamente e ... bom eu sei que não estou nem perto e desse jeito que penssei é meio confuso... aguardo novas sugestões. obrigado novamente!
  4. oi apenas olhei.. primeiro você deve declarar seus atributos como private nas classes repara que voce possui 2 variaves como o mesmo nome usando como public o que não faz muito sentido... outra coisa quando você faz ArrayList<Aviao> avioes = new ArrayList(); o objeto avioes que foi criado ele ja herda todos os atributos da classe avião na hora de imprimir você pode utilizar o método toString ja que se trata de objetos valeu
  5. Olá tudo bem preciso fazer um algorítimo para determinar qual o maior retangulo de uma matriz, por exemplo: digamos que seja uma matriz 5x5 e q sejam sorteadas 5 minas aletoriamente dentro da matriz o objetivo é dizer qual o maior retangulo que eu posso formar sem haver minas dentro... abaixo segue uma imagem para ilustrar como estou fazendo, eu ja gerei a matriz com zeros representando o vazio _ e 1 representando as minas e segue 2 a 2 as coordenas de onde estão localizado as minas(armazenado em um vetor) não vejo outra maneira de fazer a não ser encadeando inumeros for dentro de for qualquer ajuda é bem vinda, qualquer ideia valeu retângulo é um paralelogramo formado por ângulos internos retos (90°) e congruentes (mesma medida).
  6. oi amigos preciso muito de ajuda com trechos do meu programa em c++ estou tentado fazer alguns sets e gets e nao estou conseguindo na main estou tentando fazer essa operação para testar main.cpp clubes[0].incrementaGol(1); //clubes é o meu objeto da classe times cout << clubes[0].getGol() << endl; times.h void incrementaGol(int gol); int getGol() times.cpp times::times() // isso é o construtor { gol = 0; } void times::incrementaGol(int gol) { gol++; } int times::getGol() { return gol; } eu quero fazer um acumulador para quando eu setar 1 na proxima vez eu setar novamente ele acumule aquele valor novamente tipo
  7. olá a todos primeiro gostaria de agradecer a todos pela ajuda... fiz o Sudoku e ficou excelente, tirei 10 no projeto hahaha para quem tem alguma duvida segue abaixo o codigo completo de como ficou ta bem explicado... confesso que tem 2 bugzinhos...mais é difícil de perceber valeu http://pastebin.com/Y5H7APQF#include <stdio.h>#include <stdlib.h>#include <time.h>//#include <windows.h> #define M 9 //define o tamanho da matriz//cabeçalhovoid carregarjogo(int mat[M][M], int aux[M][M]);void salvarjogo(int mat[M][M], int aux[M][M]);void painel(int mat[M][M], int aux[M][M]);void gerador(int mat[M][M], int aux[M][M]);void carregarjogo(int mat[M][M], int aux[M][M]);void gerazero(int mat[M][M],int aux[M][M]);void jogadas (int mat[M][M], int aux[M][M]);void cronometro(int mat[M][M],int aux[M][M]);void nivel(int mat[M][M], int aux[M][M]);void gerazerofacil(int mat[M][M], int aux[M][M]);void gerazeromedio(int mat[M][M], int aux[M][M]);void gerazerodificil(int mat[M][M], int aux[M][M]); void nivel(int mat[M][M], int aux[M][M]){ int op,x=0;printf("\n\t\t\t @[member=@@@] @ @ @@@ @[member=@@@] @ @ @ @\n\t\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t\t @[member=@@@] @ @ @ @ @ @ @@ @ @\n\t\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t\t @[member=@@@] @[member=@@@] @@@ @[member=@@@] @ @ @[member=@@@]\n\n \a"); printf("\n\n\t\t\tSelecione o nivel de dificuldade\n\n\n\n"); printf("\t1-Facil \t 2-Medio \t 3-Dificil\t 4-Aleatorio\t\t\n\n"); scanf("%d", &op);while(x==0){ fflush(stdin); if(op == 1) { x=1; gerazerofacil(mat,aux); } else if(op == 2) { x=1; gerazeromedio(mat,aux); } else if(op == 3) { x=1; gerazerodificil(mat,aux); } else if(op == 4) { srand(time(NULL)); //semeando o rand op=rand()%3+1; // x vai receber 1 numero aleatoria entre 1 e 9 x=0; } } system("cls");} void carregarjogo(int mat[M][M], int aux[M][M]){ int i, j; FILE *file; file = fopen("sudoku.txt", "r"); if(file == NULL) // se o arquivo nao existir ele avisa o usuario e encerra { system("cls") || ("clear"); printf("O Arquivo nao pode ser aberto\n"); system("pause"); exit(0); }else{ for(i=0; i<9; i++) { for(j=0; j<9; j++) // se nao ele le o endereço de aux { fscanf(file, "%d" ,&aux[i][j]); } } } file = fopen("resolucao.txt", "r"); if(file == NULL) // se o arquivo nao existir ele avisa o usuario e encerra { system("cls") || ("clear"); printf("O Arquivo nao pode ser aberto\n"); system("pause"); exit(0); }else{ for(i=0; i<9; i++) { for(j=0; j<9; j++) // se nao ele le o endereço de aux { fscanf(file, "%d" ,&mat[i][j]); } } fclose(file); jogadas(mat,aux); }} void salvarjogo(int mat[M][M], int aux[M][M]){ int i, j; FILE *file; file = fopen("sudoku.txt", "w"); for(i=0; i<9; i++){ for(j=0; j<9; j++){ fprintf(file,"%d ",aux[i][j]); // na aux é onde ta a matriz ja preenchida com os zeros } } file = fopen("resolucao.txt", "w"); for(i=0; i<9; i++){ for(j=0; j<9; j++){ fprintf(file,"%d ",mat[i][j]); // na aux é onde ta a matriz ja preenchida com os zeros } } fclose(file); // fecha o arquivo system("cls") || ("clear"); printf(" @ @[member=@@@] @[member=@@@] @[member=@@@] @[member=@@@] @@ @ @ @ @[member=@@@] @@\n @ @ @ @ @ @ @ @ @ @ @ @ @ @ @@\n @ @ @ @ @@ @ @ @[member=@@@] @[member=@@@] @ @ @ @ @ @@\n @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ \n@@@ @[member=@@@] @[member=@@@] @[member=@@@] @[member=@@@] @ @ @[member=@@@] @@ @[member=@@@] @@\n \n @[member=@@@]@@ \n @@ @@ \n @ @ @ @ \n @ @ \n @ @ @ @ \n @ @[member=@@@] @ \n @ @ \n @[member=@[member="@@@]@@"]@ \n\n\n"); system("pause");jogadas(mat,aux);} void painel(int mat[M][M], int aux[M][M]){ int op=0,sair=9; system("cls") || ("clear"); printf("\n\t\t@[member=@@@] @ @ @@@ @[member=@@@] @ @ @ @\n\t\t@ @ @ @ @ @ @ @ @ @ @\n\t\t@[member=@@@] @ @ @ @ @ @ @@ @ @\n\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t@[member=@@@] @[member=@@@] @@@ @[member=@@@] @ @ @[member=@@@]\n\n\n\n\n \a"); printf("\tDigite a opcao desejada\n\n"); printf("\t1 - Novo Jogo!\n"); printf("\t2 - Carregar jogo salvo!\n"); printf("\t3 - Regras do jogo e como jogar\n"); printf("\t4 - Sair\n"); while((op != 1) && (op != 2) && (op != 3) && (op != 4)) // aqui enquando nao for digitado uma dessas opções ele vai ficar lendo e dando comando invalido{ scanf(" %d", &op);fflush(stdin); // isso limpa o buffer } switch (op) { case 1: // aqui chama o gerador system("cls") || ("clear"); gerador(mat , aux); break; case 2: carregarjogo(mat,aux); // a matriz aux recebe os valores lidos da função evai para jogadas system("cls") || ("clear"); jogadas(mat,aux); break; case 3: system("cls") || ("clear"); printf("\n\n"); printf("\t\t\t\tComo jogar Sudoku.\n\n\t O objetivo do Sudoku e preencher uma grade de 9x9 com numeros,\n\t de forma que cada linha, coluna e secao de 3x3 contenham os\n\t numeros de 1 a 9. No início do jogo, alguns quadrados da \n\t grade de 9x9 estarao preenchidos. Sua tarefa e usar a logica\n\t para preencher os numeros que faltam e completar a grade.\n\n\n\n\n \t\t\t\tIMPORTANTE!!\n\n\n \t\tPara sair do jogo a qualquer momento\n\t\t digite 10 para salvar o jogo digite 99\n\t\t e para resolucao do sudoku digite 50. "); printf("\n\n\n\n"); system("pause"); painel(mat,aux); system("cls") || ("clear"); break; case 4: system("cls") || ("clear"); printf("Deseja realmente sair?\n\n"); printf("Digite 1 para sim 2 para nao...\n"); while((sair != 1) && (sair != 2)) //enquanto nao for 1 ou 2 vai ficar rodando o programa { scanf("%d", &sair); fflush(stdin); // isso limpa o buffer (windows) //__fpurge(stdin); limpa o buffer se for linux if(sair == 1)//se for digitado 1 sai do programa { system("cls") || ("clear"); //limpa a tela printf("\n\n\n\n"); printf(" @[member=@@@]@@ @@@ @[member=@@@] @[member=@@@]@ @@@ @[member=@@@]@ @[member=@@@]@ @@@ @ @ @[member=@@@]@@ \n @[member=@[member="@@@]@@"]@ @ @ @ @ @ @ @ @ @ @ @[member=@[member="@@@]@@"]@ \n@ @[member=@@@] @ @ @ @[member=@@@] @ @ @ @ @ @ @ @ @[member=@@@] @\n@[member=@[member="@@@]@@"]@@@ @ @ @ @[member=@@@]@ @ @[member=@@@]@ @ @ @ @ @[member=@[member="@@@]@@"]@@@\n @[member=@@@] @ @ @ @ @ @ @ @ @ @ @[member=@@@] \n |||| @@@ @[member=@@@] @[member=@@@]@ @@@ @[member=@@@]@ @ @@@ @[member=@@@]@ |||| \n\n\n\n\n"); } else if (sair == 2) //se for 2 ele volta para o painel { painel(mat,aux); } else if ((sair !=1) || (sair != 2)) //enqianto nao for digita 1 || 2 vai ficar dando essa msg { printf("comando invalido\n"); } } break; }} void gerador(int mat[M][M], int aux[M][M]) // vem a matriz de referencia do main M = Define 9{ int i, j,k,x; //inicialização das variaveis locais srand(time(NULL)); //semeando o rand x=rand()%9+1; // x vai receber 1 numero aleatoria entre 1 e 9 mat[0][0]= x; // vai preencher a primeira posição do vetor pois essa nao precisa ser comparada for(i=0; i<9; i++){ //vai trabalhar so na primeira linha da matriz for(j=0; j<9; j++) // aqui a coluna começa em 1 pois a primeiro valor ja foi atribuido { x=rand()%9+1; // x vai receber 1 numero aleatoria entre 1 e 9 k=0; // zero o k para controle de indice while(k<j) //enquanto k menor j sempre vai ser { if(x == mat[i][k]) // se o numero gerado e atruibuido para x for igual ao da posição que k se encontra FAÇA { x = rand()%9 + 1; // se for igual x vai receber outro numero aleatorio k=0; // aqui ele zera o k para efetuar o teste dentro do while novamente } else // se ele passar por aqui é que o numero nao e igual { k=k+1; // incrementa a prosima posição da coluna } } mat[i][j] = x; // se chegou ate aqui e por que nao tem numero repetido e vai ser colocado na posição da matriz de J } } // para baixo é para linha 2 em diante for(i=1;i<2;i++)// AQUI PASSAMOS A PRIMEIRA LINHA ALEATORIA PARA A SEGUNDA LINHA, POREM TRES POSIÇÕES ADIANTADAS for(j=0;j<6;j++) mat[i][j] = mat[0][j+3];for(i=1;i<2;i++) for(j=6;j<9;j++) mat[i][j] = mat[0][j-6];for(i=2;i<3;i++)// AQUI PASSAMOS A PRIMEIRA LINHA ALEATORIA PARA A TERCEIRA LINHA, POREM SEIS POSIÇÕES ADIANTADAS for(j=0;j<3;j++) mat[i][j] = mat[0][j+6];for(i=2;i<3;i++) for(j=3;j<9;j++) mat[i][j] = mat[0][j-3]; // primeiras 3 regioesfor(i=3;i<4;i++)// AQUI PASSAMOS A PRIMEIRA LINHA ALEATORIA PARA A QUARTA LINHA, POREM UMA POSIÇÃO ADIANTADA for(j=0;j<9;j++) mat[i][j] = mat[0][j+1];for(i=3;i<4;i++) for(j=8;j<9;j++) mat[i][j] = mat[0][j-8];for(i=4;i<5;i++)// AQUI PASSAMOS A QUARTA LINHA PARA A QUINTA, POREM TRES POSIÇÕES ADIANTADAS for(j=0;j<6;j++) mat[i][j] = mat[3][j+3];for(i=4;i<5;i++) for(j=6;j<9;j++) mat[i][j] = mat[3][j-6];for(i=5;i<6;i++)// AQUI PASSAMOS A QUARTA LINHA PARA A SEXTA, POREM SEIS POSIÇÕES ADIANTADAS for(j=0;j<3;j++) mat[i][j] = mat[3][j+6];for(i=5;i<6;i++) for(j=3;j<9;j++) mat[i][j] = mat[3][j-3];for(i=6;i<7;i++)// AQUI PASSAMOS A PRIMEIRA LINHA ALEATORIA PARA A SETIMA LINHA, POREM DUAS POSIÇÕES ADIANTADAS for(j=0;j<9;j++) mat[i][j] = mat[0][j+2];for(i=6;i<7;i++) for(j=7;j<9;j++) mat[i][j] = mat[0][j-7];for(i=7;i<8;i++)// AQUI PASSAMOS A SETIMA LINHA PARA A OITAVA LINHA, POREM TRES POSIÇÕES ADIANTADAS for(j=0;j<6;j++) mat[i][j] = mat[6][j+3];for(i=7;i<8;i++) for(j=6;j<9;j++) mat[i][j] = mat[6][j-6];for(i=8;i<9;i++)// AQUI PASSAMOS A SETIMA LINHA PARA A NONA LINHA, POREM SEIS POSIÇÕES ADIANTADAS for(j=0;j<3;j++) mat[i][j] = mat[6][j+6];for(i=8;i<9;i++) for(j=3;j<9;j++) mat[i][j] = mat[6][j-3]; nivel(mat,aux); // vai passar para essa função a matriz preenchidas } void gerazerofacil(int mat[M][M],int aux[M][M]) //recebe a matriz preenchida e essa funções atribuem os zeros{ int i,j,x=0,l,k,y=38; //declarações das variaveis locais srand(time(NULL)); //semeando o rand for(i=0; i<9; i++) { for(j=0; j<9; j++) { aux[i][j] = mat[i][j]; // aqui ele vai alocar a matriz mat na aux } } i=0; j=0; while(x <y){ // enquanto x nao for 38 x=0; i=rand()%9; //sorteia um numero de 1 a 8 para posição i j=rand()%9;//sorteia um numero de 1 a 8 para posição j aux[i][j]=0; // pega o i e o j verifica a posição e aloca zero for(l=0; l<9; l++) { for(k=0; k<9; k++) { if(aux[l][k]==0) // percorre a matriz verificando quantos zereos tem { x=x+1; // quando o X for igual ao y ele vai sair do while senao ele volta a zera ate X for == y } } } } jogadas(mat,aux); //passa para a função jogadas a matriz preenchidas com os zeros} void gerazeromedio(int mat[M][M],int aux[M][M]) //recebe a matriz preenchida e essa funções atribuem os zeros{ int i,j,x=0,l,k,y=44; //declarações das variaveis locais srand(time(NULL)); //semeando o rand for(i=0; i<9; i++) { for(j=0; j<9; j++) { aux[i][j] = mat[i][j]; // aqui ele vai alocar a matriz mat na aux } } i=0; j=0; while(x <y){ // enquanto x nao for 38 x=0; i=rand()%9; //sorteia um numero de 1 a 8 para posição i j=rand()%9;//sorteia um numero de 1 a 8 para posição j aux[i][j]=0; // pega o i e o j verifica a posição e aloca zero for(l=0; l<9; l++) { for(k=0; k<9; k++) { if(aux[l][k]==0) // percorre a matriz verificando quantos zereos tem { x=x+1; // quando o X for igual ao y ele vai sair do while senao ele volta a zera ate X for == y } } } }jogadas(mat,aux); //passa para a função jogadas a matriz preenchidas com os zeros} void gerazerodificil(int mat[M][M],int aux[M][M]) //recebe a matriz preenchida e essa funções atribuem os zeros{ int i,j,x=0,l,k,y=56; //declarações das variaveis locais srand(time(NULL)); //semeando o rand for(i=0; i<9; i++) { for(j=0; j<9; j++) { aux[i][j] = mat[i][j]; // aqui ele vai alocar a matriz mat na aux } } i=0; j=0; while(x <y){ // enquanto x nao for 38 x=0; i=rand()%9; //sorteia um numero de 1 a 8 para posição i j=rand()%9;//sorteia um numero de 1 a 8 para posição j aux[i][j]=0; // pega o i e o j verifica a posição e aloca zero for(l=0; l<9; l++) { for(k=0; k<9; k++) { if(aux[l][k]==0) // percorre a matriz verificando quantos zereos tem { x=x+1; // quando o X for igual ao y ele vai sair do while senao ele volta a zera ate X for == y } } } } jogadas(mat,aux); //passa para a função jogadas a matriz preenchidas com os zeros} void jogadas (int mat[M][M], int aux[M][M]){ int i,j,k,l,a,b,valor,cont=0,acabar=1,sair=0,x=0,y=0; int naomexe[M][M]; // essa matriz é apenas para nao mecher nos valores que ja estao impressosfor(i=0; i<9; i++){ for(j=0; j<9; j++) { naomexe[i][j] = aux[i][j]; }} while(acabar >0){ acabar=1; printf("\n\t\t\t @[member=@@@] @ @ @@@ @[member=@@@] @ @ @ @\n\t\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t\t @[member=@@@] @ @ @ @ @ @ @@ @ @\n\t\t\t @ @ @ @ @ @ @ @ @ @ @\n\t\t\t @[member=@@@] @[member=@@@] @@@ @[member=@@@] @ @ @[member=@@@]\n\n \a"); printf("\t\t\t 0 ");printf(" 1 ");printf(" 2 ");printf(" 3 ");printf(" 4 ");printf(" 5 ");printf(" 6 ");printf(" 7 ");printf(" 8 "); printf("\n\t\t\t -------------------------------");for(i=0; i<9; i++){printf("\n");if((i== 3) || (i== 6)) // quando a linha for 3 ou 6 ele vai desenhar o printf abaixo{ printf("\t\t\t -------------------------------\n");} for(j=0; j<9; j++){ if(j==0) { printf("\t\t\t%d | %d ",i, aux[i][j]); } else if((j==3) || (j==6)){ printf("| %d ", aux[i][j]); // toda vez q linha for 0 3 ou 6 vai imprimir | antes do numero } else if(j==8) { printf(" %d |", aux[i][j]); // a mesma coisa so que a barra | no final } else{ printf(" %d ", aux[i][j]); // se nao for nenhuma dessas condições imprime o numero normal } }} printf("\n");printf("\t\t\t -------------------------------\n\n\n"); printf("Digite a linha e a coluna e o numero de 1 a 9\t\t\t jogadas[%d]\n",cont ); fflush(stdin); // isso limpa o buffer (windows) //__fpurge(stdin); limpa o buffer se for linux scanf("%d %d %d", &i, &j, &valor);cont++;x=0;y=0; while(y==0) { if (naomexe[i][j] > 0) { printf("\nJogada proibida\n"); system("pause"); x=1; y=1; } for(l=i; l<=i; l++ ) { for(k=0; k<9; k++) { if((valor !=0) && (valor == aux[i][k])) { printf("esse numero ja tem na linha\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } if (naomexe[i][j] > 0) { printf("\nJogada proibida\n"); system("pause"); x=1; y=1; } for(a=0; a<9; a++ ) { for(b=j; b<=j; b++) { if((valor !=0) && (valor == aux[a][b])) { printf("esse numero ja tem na coluna\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } }// teste da 3x3 teste o primeiro quadrante************************************************************************************************************ if((i>=0 && i<=2) && (j>=0 && j<=2)) { for(l=0; l<3; l++){ for(k=0; k<3; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; } else { y=1; } } } } // teste da matriz de 3 a 6 na linha testa o quarto quadrante*************************************************************if((i>=3 && i<6) && (j>=0 && j<=2)) { for(l=3; l<6; l++){ for(k=0; k<3; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } } //teste da matriz de 6 a 9 TESTA O setima quadrante **************************************8 if((i>=6 && i<9) && (j>=0 && j<=2)) { for(l=6; l<9; l++){ for(k=0; k<3; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } } // teste o segundo quadrante******************************************* if((i>=0 && i<=2) && (j>=3 && j<6)) { for(l=0; l<3; l++){ for(k=3; k<6; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } } // teste o terceiro quadrante******************************************* if((i>=0 && i<=2) && (j>=6 && j<9)) { for(l=0; l<3; l++){ for(k=6; k<9; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } } // teste o quinto quadrante******************************************* if((i>=3 && i<6) && (j>=3 && j<6)) { for(l=3; l<6; l++){ for(k=3; k<6; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } } // teste o sexto quadrante******************************************* if((i>=3 && i<6) && (j>=6 && j<9)) { for(l=3; l<6; l++){ for(k=6; k<9; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } } //teste da matriz de 6 a 9 TESTA O oitavo quadrante **************************************8 if((i>=6 && i<9) && (j>=3 && j<6)) { for(l=6; l<9; l++){ for(k=3; k<6; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } } //teste da matriz de 6 a 9 TESTA O ultimo quadrante **************************************8 if((i>=6 && i<9) && (j>=6 && j<9)) { for(l=6; l<9; l++){ for(k=6; k<9; k++){ if((valor !=0) && (valor == aux[l][k])) { printf("esse numero ja tem na matriz 3x3\n\n"); system("pause"); y=1; x=1; cont--; } else { y=1; } } } } } // fim do enquanto while(x== 0) // sempre vai passar por aqui.. apenas se a o teste acima der erro{ if(i>8) { printf("Linha ou coluna ou valor digitado errado\n"); cont--; x=1; system("pause"); } else if(j>8) { printf("Linha ou coluna ou valor digitado errado\n"); cont--; x=1; system("pause"); } else if(valor > 11) { printf("Linha ou coluna ou valor digitado errado\n"); cont--; x=1; system("pause"); } else { x=1; aux[i][j] = valor; // aqui recebe a jogada } }if((i == 10 ) || (j==10) || (valor== 10)) { sair = 10; if(sair == 10){ system("cls") || ("clear"); printf("Deseja realmente sair?\n\n"); printf("Digite 1 para sim 2 para nao...\n"); while((sair != 1) && (sair != 2)) //enquanto nao for 1 ou 2 vai ficar rodando o programa { scanf("%d", &sair); fflush(stdin); // isso limpa o buffer (windows) //__fpurge(stdin); limpa o buffer se for linux if(sair == 1)//se for digitado 1 sai do programa { system("cls") || ("clear"); //limpa a tela printf("\n\n\n\n"); printf(" @[member=@@@]@@ @@@ @[member=@@@] @[member=@@@]@ @@@ @[member=@@@]@ @[member=@@@]@ @@@ @ @ @[member=@@@]@@ \n @[member=@[member="@@@]@@"]@ @ @ @ @ @ @ @ @ @ @ @[member=@[member="@@@]@@"]@ \n@ @[member=@@@] @ @ @ @[member=@@@] @ @ @ @ @ @ @ @ @[member=@@@] @\n@[member=@[member="@@@]@@"]@@@ @ @ @ @[member=@@@]@ @ @[member=@@@]@ @ @ @ @ @[member=@[member="@@@]@@"]@@@\n @[member=@@@] @ @ @ @ @ @ @ @ @ @ @[member=@@@] \n |||| @@@ @[member=@@@] @[member=@@@]@ @@@ @[member=@@@]@ @ @@@ @[member=@@@]@ |||| \n\n\n\n\n"); system("pause"); exit(0); } else if (sair == 2) //se for 2 ele volta para o painel { jogadas(mat,aux); } else if ((sair !=1) || (sair != 2)) //enqianto nao for digita 1 || 2 vai ficar dando essa msg { printf("comando invalido\n"); } }} } if((i == 99 ) || (j==99) || (valor== 99)){ salvarjogo(mat,aux);}for(i=0; i<M; i++){ for(j=0; j<M; j++) { if(aux[i][j] == 0) { acabar=acabar+1; } }} if((i == 50 ) || (j==50) || (valor== 50)){ for(i=0; i<9; i++) { printf("\n"); for(j=0; j<9; j++) { printf("| %d|",mat[i][j]); } } printf("\n\n"); system("pause");}acabar=acabar-1; system("cls") || ("clear"); }} /*void cronometro(int mat[M][M],int aux[M][M]){ int sec=0, min=0, hr=0, p=0; while (p<10) { printf("\n\t %dH:%dM:%dS", hr,min,sec); system("cls"); Sleep(1000); //pausa a tela por uma determinado tempo system("cls"); jogadas(mat,aux); sec++; if(sec==60) { sec=0; min++; } if(min == 60) { min=0; hr++; } if(hr==24) { hr++; } } }*/ int main(){ int mat[M][M], aux[M][M]; painel(mat,aux); // vai para função das opcoes do painelprintf("\n\n\n\n\\t\t\t\tPARABENS");}
  8. oi por favor desconsiderar... e apagar esse topico
  9. Rafael Domingues Corrêa exatamente isso que estava verificando nesse exato momento... mais desde ja agradeço pela sua atenção fico show de bola e muito bem explicado perfeito parabéns!! vou estudar o codigo acima e farei a função para comparar 3x3 esclareceu todas as duvidas que eu tinha obrigado após eu concluir o jogo postarei o codigo completo para mostrar como ficou

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...