Buenas, les escribo porque tengo varias dudas sobre como enlazar varias listas.
Les explico, quiero hacer una Sopa de Letras en la que yo introduzca el numero de columnas y de filas y por supuesto la sopa de letras entera.
Para ello yo he creado 3 archivos:
matriz.h : definicion d las funciones y los structs
matriz.cpp : las funciones que utilizare.
sopa.cpp : dond esta el int y llamara a todas las dmas funciones.
en el matriz .h estan las siguientes structuras
struct Filas{
char dato; // char para introducir el caracter
Filas *sig_fila;
};
struct Columnas{
Filas *filas;
Columnas *sig_columna;
};
struct Matriz {
int nf; // numero filas
int nc; //numero columnas
Columnas *m;
};
En el matriz.cpp tengo las funciones:
void CrearMatriz (Matriz &M,int f, int c)
{
M.nf=f;
M.nc=c;
M.m = new Columnas[c];
Columnas *aux;
aux = new Columnas[c];
aux = M.m -> sig_columna;
Filas *aux1;
for (int i=0;i<f;i++)
{
aux1 = new Filas[f];
aux1 = aux1 -> sig_fila;
for (int j=0;j<c;j++)
{
aux -> sig_columna;
}
}
}
Supuestamente en el crear matriz lo unico que tengo que hacer es resolver la memoria para la matriz M y sus filas y columnas.
void SetMatriz (Matriz &M,int f,int c,char d) En esta funcion tengo que hacer la implementacion para que me meta en f (fila) c(columna) el caracter que le he pasado dsde el LeerMatriz()
void LeerMatriz(Matriz& M)
{
int f,c;
cout <<"Introduzca filas y columnas" << endl;
cin >> f;
cin >> c;
char aux;
CrearMatriz(M,f,c);
cout << "Introduzca letras" << endl;
for (int i=0;i<f;i++)
{
for (int j=0;j<c;j++)
{
cin >> aux;
SetMatriz(M,i,j,aux);
}
}
cout << endl;
EscribirMatriz(M);
}
Mi pregunta es, que cuando se va al SetMatriz y despues de introducir las letras, ya que hasta el introducir me lo hace todo bien, me da un fallo de segmentacion.
En el crearmatriz() que es lo que tengo que hacer realmente? Está bien reservado ls espacios de memoria? no estoy seguro de haberlo hecho bien.
en el setmatriz() bastaria con un M.m[f][c] = d???
la verdad esque estoy bastante liado con ls punteros porque no se si realmente estan apuntando bien.
Si alguien m puede ofrecer un poco de ayuda o guia de como hacerlo, lo agradeceria, gracias y un saludo!