olá tenho outra dúvida que é: com os segmentation fault são erros que me tem acontecido frequentemente e ainda não percebi ao que se deve
[ code = c]
#define DIM 3
#define ESPACO ' '
void inic(char s[] [DIM]) // Omitir uma dimensão
{
int i,j;
for (i=0;i<DIM;i++)
for (j=0;j<DIM;i++)
s[i][j]=ESPACO;
}
void mostra(char s[DIM][DIM]) // Ambas as Dimensões
{
int i,j;
for (i=0; i<DIM; i++)
{
for(j=0;j<DIM;j++)
printf("%c %c",s[i] [j], j==DIM -1? ' ': '|');
if (i!=DIM-1) printf("\n-----------");
putchar('\n');
}
}
//verifica(){for ()}
int main()
{
char Velha[DIM][DIM]=0;
mostra(Velha);
int posx, posy;
char ch = '0'; // Caractere para Jogar
int n_jogadas = 0;
inic(Velha);
while (1) // Laço infinito
{
mostra(Velha);
printf("\n Introduza a Posição de Jogo Linha Coluna: ");
scanf("%d %d", &posx,&posy);
posx--;posy--; // Eles querem fazer uma atribuição , um decremento xD ..? Pois os índices do vetor começam em 0
if (Velha[posx][posy]==ESPACO) // Casa livre
{ Velha[posx][posy]= ch = (ch == '0') ? 'X' : '0';
n_jogadas++;
}
else
printf("Posição já ocupada\nJogue Novamente!!!\n");
if (n_jogadas == DIM*DIM)
break; // Acabar o Programa
}
mostra(Velha);
}
[/code]
[ code = c]
#define DIM 3
#define ESPACO ' '
// Por motivos de clareza de código o autor decidiu fazer a declaração das funções apesar de não ser necessário..
void inic(char s[][DIM]);
void mostra (char s[DIM][DIM]);
int Ganhou(char g[DIM][DIM], char ch);
int Linha(char v[], char c);
int Coluna (char g[DIM][DIM], int col, char ch);
// Inicia o Tabuleiro
void inic(char s[] [DIM]) // Omitir uma dimensão
{
int i,j;
for (i=0;i<DIM;i++)
for (j=0;j<DIM;i++)
s[i][j]=ESPACO;
}
// Mostra o aspecto do tabuleiro
void mostra(char s[DIM][DIM]) // Ambas as Dimensões
{
int i,j;
for (i=0; i<DIM; i++)
{
for(j=0;j<DIM;j++)
printf("%c %c",s[i] [j], j==DIM -1? ' ': '|');
if (i!=DIM-1) printf("\n-----------");
putchar('\n');
}
}
//verifica(){for ()}
int main()
{
char Velha[DIM][DIM];
int posx, posy;
char ch = '0'; // Caractere para Jogar
int n_jogadas = 0;
inic(Velha);
while (1) // Laço infinito
{
mostra(Velha);
printf("\n Introduza a Posição de Jogo Linha Coluna: ");
scanf("%d %d", &posx,&posy);
posx--;posy--; // Eles querem fazer uma atribuição , um decremento xD ..? Pois os índices do vetor começam em 0
if (Velha[posx][posy]==ESPACO) // Casa livre
{ Velha[posx][posy]= ch = (ch == '0') ? 'X' : '0';
n_jogadas++;
}
else
printf("Posição já ocupada\nJogue Novamente!!!\n");
if (n_jogadas == DIM*DIM)
break; // Acabar o Programa
}
mostra(Velha);
}
[/code]
p.s: os códigos partem do mesmo devia só ter um
↧