• Viernes 15 de Noviembre de 2024, 03:01

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - rkneko

Páginas: [1]
1
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Lunes 16 de Marzo de 2009, 21:51 »
ok hecho queda, gracias! :)

2
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Viernes 13 de Marzo de 2009, 17:20 »
muyyy buenas y gracias x seguir ahi :)

ya consegui el crearmatriz(), abase de comerme el depurador aver que hacia y ya he conseguido gracias a tu consejo de quitar uno d las asignaciones, aqui no tengo el codigo pero funciona y me reserva la memoria tatas como columnas y filas tenga :)) ya entendi eso.. gracias a Dios!!

jeje aora a ota cosa... y es lo de recorrer para que me inserte los datos, lo haria como tu pero nos dijeron que recorremos una fila, y en esa fila ahi tantas columnas como hallamos creado, lo tengo puesto así en los structs asique debo ceñirme a eso, hare lo que me has dicho pero cambiando el orden d filas y columnas y en cuanto pueda te comento porque es lo unico que me queda, asipues muuuuuuchas gracias y ya t dire :)

un saludo!

EI: juntando mensajes.

aux = aux->sig_columna;

eso hace que pase a la siguiente column de la fila??

3
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 18:55 »
ok...entonces el crearmatriz q tengo queda asi:

Código: C++
  1. void CrearMatriz (Matriz &M,int f, int c)
  2. {
  3.     M.nf=f;
  4.     M.nc=c;
  5.  
  6.     M.m = new Columnas[c];
  7.     Columnas *aux;
  8.     aux = new Columnas[c];
  9.     Filas *aux1;
  10.  
  11.     for (int i=0;i<f;i++)
  12.     {
  13.         aux1 = new Filas[f];
  14.             for (int j=0;j<c;j++)
  15.             {
  16.                 aux -> sig_columna;
  17.             }                              
  18.     }
  19. }
  20.  



esta parte del codigo entonces que realiza? la reserva de memoria y yasta no?

gracias x seguir ahi :)

4
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 18:37 »
Aunque la afirmacion no fuera cierta y estemos hablando de c++ no hay que decir las cosas así como tu pusistes el mensaje y resaltar que se esta equivocando, todo el mundo se equivoca pero por lo que veo es el unico en este foro en el que no se las da de entendido e intenta ayudarme en todo lo posible, y eso es lo que se tiene que valorar. Espero que tus proximos mensajes eternal sean para algo de ayuda sino te pediria porfavor que no molestases mas con esos mensajes que no sirvver para nada, espero que no te tomes a mal mi mensaje,  gracias y un saludo.

5
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 18:32 »
aux = M.m -> sig_columna;

pues ai lo q qiero decir esqe... M.m (q es d tipo columna) apunte a sig_columna (q es d tipo columna) por lo q aux estara apuntando a asiguiente columna no?
esq si t dgo la verdad... el codigo de crearmatriz() lo he hecho, compila sin errores y no se ni como porque esq no se lo q tengo q hacer.




lo unico que tengo quehacer es reservar sitios para la matriz.


gracias :)

6
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 18:21 »
pueees ai lo q intento  esq la struct Columnas me reserve tantos sitios como c(columnas) tenga,

gracias

7
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 18:11 »
No joe no t pongas asi mosqito q eres el unico q m esta ayudando con esto.

El mensaje del otro no sirve para lo que yo pido, que no es otra cosa que ayuda sobre como poder llenar una matriz hecha con listas enlazadas, porfavor si fueras tan amable de ayudarme, muchas gracias :)

8
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 17:55 »
Esque no nos permiten utilizar las clases todavia, esto es un ejrcicio d clase, y tenemos q implementarlo tal y como esta y con listas entrelazadas.

Elproblema que se me presenta ami es el de como lleno la matriz con la funcion setmatriz?

gracias :)

9
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 17:38 »
exacto m dan ls prototipos y tengo q realizar las funciones.
pues es c++... no sabia q sstaba mzclando codigo

EI: juntando mensajes.

lo que yo no se hacer es el SetMatriz(M,f,c,d);

en esa funcion se debe de dar la matriz M la fila f a introducir yla columna n, y por ultimo el caracter q vas a introducir M[f][c]

10
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 16:48 »
Esque tengo que utilizar la siguiente estructura:

matriz.h
void CrearMatriz(Matriz &M, int f, int c);
int FilasMatriz(const Matriz &M);
int ColumnasMatriz(const Matriz &M);
void SetMatriz(Matriz &M,int f,int c,char d);
int GetMatriz(const Matriz &M,int i,int j);
void DestruirMatriz(Matriz &M);

11
C/C++ / Re: Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 16:31 »
qeva asi m sale el error matriz.cpp:8: error: solicitud por el miembro ‘nf’ en ‘M’, el cual es del tipo ‘Matriz*’ que no es clase

gracias :)

12
C/C++ / Matrices por listas doblemente enlazadas
« en: Jueves 12 de Marzo de 2009, 15:40 »
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


Código: C++
  1. struct Filas{
  2.     char dato;        // char para introducir el caracter
  3.     Filas *sig_fila;  
  4. };
  5.  
  6. struct Columnas{
  7.     Filas *filas;
  8.     Columnas *sig_columna;
  9. };
  10.  
  11. struct Matriz {
  12.     int nf;    // numero filas
  13.     int nc;   //numero columnas
  14.     Columnas *m;   
  15. };
  16.  


En el matriz.cpp tengo las funciones:


Código: C++
  1. void CrearMatriz (Matriz &M,int f, int c)
  2. {
  3.     M.nf=f;
  4.     M.nc=c;
  5.  
  6.     M.m = new Columnas[c];
  7.    
  8.     Columnas *aux;
  9.     aux = new Columnas[c];
  10.  
  11.     aux = M.m -> sig_columna;
  12.     Filas *aux1;
  13.  
  14.     for (int i=0;i<f;i++)
  15.     {
  16.         aux1 = new Filas[f];
  17.         aux1 = aux1 -> sig_fila;
  18.             for (int j=0;j<c;j++)
  19.             {
  20.                 aux -> sig_columna;
  21.             }                              
  22.     }
  23. }
  24.  

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()


Código: C++
  1. void LeerMatriz(Matriz& M)
  2. {
  3. int f,c;
  4. cout <<"Introduzca filas y columnas" << endl;
  5. cin >> f;
  6. cin >> c;
  7. char aux;
  8.  
  9. CrearMatriz(M,f,c);
  10.  
  11. cout << "Introduzca letras" << endl;
  12. for (int i=0;i<f;i++)
  13. {
  14.  
  15.     for (int j=0;j<c;j++)
  16.     {
  17.         cin >> aux;
  18.         SetMatriz(M,i,j,aux);
  19.        
  20.     }
  21. }
  22. cout << endl;
  23. EscribirMatriz(M);
  24. }
  25.  


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!

Páginas: [1]