Queria alterar a matriz puzzle[4][4] para matriz puzzle[n][n] para que o usuario informe o tamanho da matriz mas quando coloco n no lugar do 4 os resultado da erro.
o arquivo txt tem o seguintes dados
9 15 5 0
4 6 1 3
14 2 7 10
8 12 13 11
#include <stdio.h>
#include <stdlib.h>
void imprime(int n, int puzzle[n][n]){
int i, j;
printf(" -------------------\n");
for (i=0; i<n; i++){
printf ("| ");
for (j=0; j<n; j++){
if (puzzle[j]<10)
printf (" %d | ", puzzle[j]);
else
printf ("%d | ", puzzle[j]);
}
printf("\n");
}
printf(" -------------------\n");
}
int main(int argc, char *argv[])
{
int n,
i,
j,
valor,
puzzle[4][4]; // queria altera para puzzle[n][n]
printf("Resolvendo o PUZZLE");
printf("\n\n");
printf("Informe tamanho do Puzzle NxN - N: ");
scanf ("%d", &n);
printf("\n");
FILE *arq = fopen("puzzle.txt", "r");
if (arq == NULL){
printf("Desculpe, o arquivo não pode ser aberto");
Pergunta
jrsilvamg
Queria alterar a matriz puzzle[4][4] para matriz puzzle[n][n] para que o usuario informe o tamanho da matriz mas quando coloco n no lugar do 4 os resultado da erro.
o arquivo txt tem o seguintes dados
9 15 5 0
4 6 1 3
14 2 7 10
8 12 13 11
#include <stdio.h>
#include <stdlib.h>
void imprime(int n, int puzzle[n][n]){
int i, j;
printf(" -------------------\n");
for (i=0; i<n; i++){
printf ("| ");
for (j=0; j<n; j++){
if (puzzle[j]<10)
printf (" %d | ", puzzle[j]);
else
printf ("%d | ", puzzle[j]);
}
printf("\n");
}
printf(" -------------------\n");
}
int main(int argc, char *argv[])
{
int n,
i,
j,
valor,
puzzle[4][4]; // queria altera para puzzle[n][n]
printf("Resolvendo o PUZZLE");
printf("\n\n");
printf("Informe tamanho do Puzzle NxN - N: ");
scanf ("%d", &n);
printf("\n");
FILE *arq = fopen("puzzle.txt", "r");
if (arq == NULL){
printf("Desculpe, o arquivo não pode ser aberto");
exit(1);
}
for (i=0 ; i<n; i++){
for (j=0 ; j<n; j++){
fscanf (arq, "%d", &valor);
puzzle[j] = valor;
}
}
fclose(arq);
imprime(n, puzzle);
system("PAUSE");
return 0;
}
Editado por jrsilvamgLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.