#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#include <locale.h>
#include <windows.h>
int fillTable(int matriz[100][100],int nlin,int ncol);/*grava na matriz*/
void main(void)
{
keybd_event ( VK_MENU, 0x36, 0, 0 );
keybd_event ( VK_RETURN, 0x1C, 0, 0 );
keybd_event ( VK_RETURN, 0x1C, KEYEVENTF_KEYUP, 0 );
keybd_event ( VK_MENU, 0x38, KEYEVENTF_KEYUP, 0 );
setlocale(LC_ALL,"");
int n=4,cubo[n][n];
/* printf("\n\n\n[Este é o jogo do quadrado mágico!!!]\n");
getch();
system("cls");
printf("\n\n\n[estas são as regras]\n");
printf("O jogo é formado por um Tabuleiro 4X4, no qual, o Jogador deve entrar com qualquer conjunto de valores e o jogo informara ");
printf("\nse é ou não um quadrado mágico. Para ser um quadrado mágico, a soma de cada linha, coluna e diagonais deve ter o mesmo valor.\nTambém não poderá ocorrer entradas de valores repetidos.");
getch();
system("cls");
printf("ex:\n\n 0 1 2 3\n ____________________\n0 | 01 | 14 | 15 | 04 |\n |____|____|____|____|\n1 | 12 | 07 | 6 | 09 |\n |____|____|____|____|\n2 | 08 | 11 | 10 | 05 |\n |____|____|____|____|\n3 | 13 | 02 | 03 | 16 |\n |____|____|____|____|");
getch();
printf("[A Soma de todas As Linhas Colunas e Diagonais deste Quadrado São iguais a: 34 :D]\n");
getch();
system("cls");
printf("[Agora Vamos Jogar!!! XD]");
getch();
system("cls");*/
fillTable(cubo,n,n);
}
int fillTable(int matriz[100][100],int nlin,int ncol)/*grava na matrix*/
{
int ll,cc,l,c,valor,check;
for(l=0;l< nlin; l++)
{
for(c=0;c<ncol; c++)
{
printf("Digite o %dº valor da %dº linha\n",c+1,l+1);
scanf("%d",&valor);
/*====================[verificação]=======================*/
for(ll=0;ll<=l;ll++)
{
for(cc=0;cc<=c;cc++)
{
if(matriz[ll][cc]==valor)
check=1;
}
}
if(check==1){
printf("Número repetido digite novamente\n");
if(c!=0){
c--;
check=0;
}
}else
matriz[l][c]=valor;
/*====================[ ]=======================*/
}
}
}
adicionado 2 minutos depois
esta uma versão reduzida do código completo,esta parte trava ao rodar o laço pela segunda vez
for(ll=0;ll<=l;ll++)
{
for(cc=0;cc<=c;cc++)
{
if(matriz[ll][cc]==valor)
check=1;
}
}
if(check==1){
printf("Número repetido digite novamente\n");
if(c!=0){
c--;
check=0;
}
}else
matriz[l][c]=valor;
/*====================[ ]=======================*/
}
adicionado 19 minutos depois
já arrumei