Buenas!
Tengo que hacer un trabajo de programación en C y teniendo un dibujo como este (tratándolo como una matriz) tengo que hacer que el usuario ponga una coordenada, y que en el punto donde ha seleccionado, se tiene que llenar de asteriscos(*) hasta encontrar frontera con otros asteriscos. Vamos como la función del paint de rellear una región con un color.
El dibujo es este: http://i.imgur.com/PMesd.png
Así que si el punto que el usuario ha seleccionado está dentro de una de las ventanas de la casa, esa ventana debería llenarse de asteriscos.
He estado probando algunas ideas pero lo máximo que puedo hacer es esto:
Donde q[a][.b] es la matriz, y "a" es el número de filas y "b" columnas.
(Pongo el punto antes de la "b" porque sino lo pone en negrita XD)
void rellenar(int a, int b, char **q){
if(q[a][.b]=='*'){
return;
}
if(q[a][.b]!='*'){
q[a][.b]='*';
if(q[a][b+1]!='*'){
q[a][b+1]='*';
}
if(q[a][b-1]!='*'){
q[a][b-1]='*';
}
if(q[a-1][.b]!='*'){
q[a-1][.b]='*';
}
if(q[a+1][.b]!='*'){
q[a+1][.b]='*';
}
if(q[a+1][b+1]!='*'){
return rellenar(a+1,b+1,q);
}
}
}
Tengo que entregar el trabajo el lunes y estoy desesperado.
Agradecería cualquier ayuda, gracias!