UTNianos

Versión completa: Duda con C (matriz de asteriscos)
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Mi primer problema groso con C =P

Tengo que imprimir una matriz de asteriscos (para un buscaminas) y la inicializo, pero al compilar me muestra una advertencia, y luego me imprime un caracter distinto al que ingrese, o me imprime un espacio en blanco...
(Aclaro que la matriz es de 10x10 pero uso solamente 9 x 9 para evitar el subindice 0)




/* test2 */
#include <stdio.h>
#define SIZE 10

main()
{
char t[SIZE][SIZE];
int i, j;

for (i = 1; i <= SIZE-1; i++) {
for (j = 1; j <= SIZE-1; j++)
t[i][j] = "*";
}

printf("%c",t[2][1]);

return 0;
}



edit: aca me tira error directamente, y el error de MAIN no se como es, todavia no vi C++ =P


/* test2 */
#include <stdio.h>
#define SIZE 10

int main() //Faltaba poner el valor de retorno
{
char t[SIZE][SIZE];
int i, j;

for (i = 1; i <= SIZE-1; i++) { //Los vectores en C empiezan en el 0, no se si empezaste con el 1 aproposito
for (j = 1; j <= SIZE-1; j++)
t[i][j] = '*'; //No es lo mismo usar ' ' que " ", ' ' es para caracteres, "" es para cadenas
}

printf("%c",t[2][1]);

return 0;
}

Bien, 2 horas y eran unas comillas!

Gracias Dani. mi buscaminas esta en camino!

[Imagen: 406170_4261954516726_355507349_n.jpg]
Ah, cierto que tambien puedo inicializar una matriz en la declaracion...
pero ya probé

char t[SIZE][SIZE] = {'*'}

char t[SIZE][SIZE] = {{'*'},{'*'}}

y ninguna funciona, hay algo mal?
Creo que cuando lo inicializás no le tenés que meter el tamaño, directamente poner [], el tema es que tenés que escribir todos los asteriscos. Si no querés hacer el for podés probar con memset



#include <stdio.h>
#include <string.h>
#define SIZE 9

int main()
{
char t[SIZE][SIZE];
int i, j;

memset(t, '*', SIZE*SIZE); //memset( direccion de inicio, valor, tamaño)


for (i = 0; i < SIZE; i++) {

for (j = 0; j < SIZE; j++) printf("%c\t",t[i][j]);
printf("\n");
}



return 0;
}

Gracias! Lo tengo en cuenta para la siguiente version...

Ah, y sí, sabía que los vectores en C arrancan del 0, lo hice asi para que sea mas claro el programa =)
URLs de referencia