Como conferir se uma matriz de sudoku esta certa?Bem, matriz Sudoku e aquela onde o mesmo numero nao se repete na mesma linha e nem na mesma coluna!RESOLVENDO:#include<stdio.h>#include<conio.h>int mat[9][9];int num=9;void preencher();int conflinha();int confcol();int main(){ preencher();//preenche a matriz if(conflinha() ==1 && confcol() ==1)//se o retorno da funcao for igual a 1.... a matriz esta correta printf("\n**PARABENS**"); else//senao... printf("\nERRADO"); getch();//pause para ler, equivalente ao system("pause") return 1;}void preencher()//preenche linha por linha{ int i, j,x; for(i=0; i<num; i++) for(j=0; j<num; j++) { printf("\nPosicao [%d][%d]: ", i+1, j+1); scanf("%d",& x); if(x<0 || x>9){//como aceita-se apenas numero naturais, entre 0 e 9.... printf("Apenas numeros naturais, entre 0 e 9"); j--; continue;} else mat[i][j]=x; }}int conflinha()//confere linha por linha{ int x=0,j,soma=0, i=0; while(i<num)//o laco while vai ate a ultima linha { for(j=0; j<num;j++) if(mat[i][x] == mat[i][j] && x!=j)//confere o elemento com os demais da linha soma+=1; x++; if(x==num)//muda de coluna { i++; x=0; } } if(soma==0)//como inicio-se soma =0, se for diferente e que tem elementos iguais, senao... ok return 1; else return 0;}int confcol()//faz o mesmo que a funcao conflinha faz, so que confere colunas{ int x=0,j,soma=0, i=0; while(i<num) { for(j=0; j<num;j++) if(mat[x][i] == mat[i][j] && j!=x) soma+=1; x++; if(x==num) { i++; x=0; } } if(soma==0) return 1; else return 0;}Comentem!!! 73167176531330624919225119674426574742355349194934969835203127745063262395783180169848018694788518438586156078911294949545950173795833195285320880551112540698747158523863050715693290963295227443043557668966489504452445231617318564030987111217223831136222989342338030813533627661428280644448664523874930358907296290491560440772390713810515859307960866701724271218839987979087922749219016997208880937766572733300105336788122023542180975125454059475224352584907711670556013604839586446706324415722155397536978179778461740649551492908625693219784686224828397224137565705605749026140797296865241453510047482166370484403199890008895243450658541227588666881164271714799244429282308634656748139191231628245861786645835912456652947654568284891288314260769004224219022671055626321111109370544217506941658960408071984038509624554443629812309878799272442849091888458015616609791913387549920052406368991256071760605886116467109405077541002256983155200055935729725716362695618826704282524836008232575304207529634501o passo- entender o problema, ou sejavou pegar uma sequencia de 5 digitos, ex: 73167, achar o produto 7x3x1x6x7 = 882e assim por diante pegando outras sequencias seguidas.... 31671 -> 3x1x6x7x1=126 ....2o passo- gerar o codigoResolvendo:P.S.: Criei um arquivo que ja tem toda sequencia, entao e so voce baixar o arquivo e colocar na pasta do projeto criado e assim compilar o programa, se voce observar o arquivo esta abrindo "r" ou seja somente pra leitura, deixarei disponivel pra quem quiser o arquivo logo abaixo do codigo pra fazer download!!#include <stdio.h>#include <conio.h>#include <stdlib.h>int main(){ FILE *p;//ponteiro para meu arquivo int vet[1000],prd=1, i,k=5; int n=0,aux, cont=0; p=fopen("test.txt", "r");//abrindo meu arquivo if(!p) { printf("\n\nERRO AO ABRIR O ARQUIVO\n\n"); getch(); exit (1); } for( i=0; i<1000;i++)//lendo todo arquivo, e preenxendo meu vetor com inteiros que se encontram em cada linha { fscanf(p, "%d", &vet[i]); } while(n!=996)//como temos 1000 posicoes entao, temos que fazer o produto da posicao 296..7..8..9..1000 { aux=prd; prd=1; for(i=cont; i<k;i++)//for pra percorrer o intervalo de posicoes { prd*=vet[i];//calculando o produto da posicoes } if(aux>prd)//caso encontre um maior armazena em uma variavel aux para ver se encontra outra prd=aux; cont++; n++; k++; } cont=0; for( i=0; i<1000;i++){//imprime na tela meu vetor em forma de matriz printf("%d ", vet[i]); cont++; if(cont ==20){ printf("\n"); cont=0; } } printf("\n\nO MAIOR PRODUTO ENCONTRADO NA SEQUENCIA ACIMA FOI: %d\n",prd); getch(); return 1;}ARQUIVO .TXTP.S: Voce deve colar esse arquivo na pasta do projeto, //meus documentos// visual 2008 ou 2010// a pasta que voce criou para o projeto// dentro da pasta tem outra pasta com o mesmo nome do seu projeto, abra ela e cole o arquivo dentro dessa pasta!!!AI PESSOAL, COMO TO COM UM TEMPINHO SOBRANDO E ESSE EXERCICIO E BEM INTERESSANTE, RESOLVI FAZE-LO DE OUTRA FORMA, APENAS COPIEI ESSA SEQUENCIA NUMERICA E COLEI NO MEU ARQUIVO, PRA QUEM BAIXAR OS DOIS ARQUIVOS