![]() |
| |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
| | LinkBack | Herramientas | Desplegado |
| |||
| template <typename T> void operator *= (matriz <T> &valor, matriz <T> factor) { if (valor.c == factor.f) { matriz <T> auxiliar(valor.f,factor.c); for (int i = 0; i < auxiliar.f; ++i) { for (int j = 0; i < auxiliar.c; ++j) { for (int k = 0; k < valor.c; ++k) auxiliar.tabla[i][j] += valor.tabla[i][k] * factor.tabla[k][j]; } } valor = auxiliar; } } La clase que estoy creando se llama matriz (fácil de notar). Deseo crear la función de multiplicación de la matriz, en la cual al primer argumento se le asigne el producto de ambas matrices. Los principales miembros de la clase son: tabla: Es del tipo vector <vector <T> >. Contiene los elementos de la matriz. f: Indica el número de filas de la matriz. Se actualiza respondiendo a las funciones que se apliquen sobre ella. c: Indica el número de columnas de la matriz. Se comporta como el miembro "f". El compilador me inicializa el programa sin señalar errores pero, al correr el ejecutable, cuando llega el momento de efectuar la operación, me indica que debe cerrarse a causa de un problema. Confío en que alguien puede solucionar esta problemática, por tanto, agradezco por adelantado. |
| | ||||
| ||||
| |
| |||
| On 2007-10-26, R.G.A.M. <rgam1989***gmail.com> wrote: > El compilador me inicializa el programa sin señalar errores pero, > al correr el ejecutable, cuando llega el momento de efectuar la > operación, me indica que debe cerrarse a causa de un problema. La parte crítica del programa parece que es esta: valor = auxiliar; La cuestión es cómo haces esa asignación. Ten en cuenta que auxiliar es una variable que solo existe (en la pila) mientras ejecutas la función. Si en valor guardas referencias a auxiliar, el programa te podrá cascar en cualquiera de los siguientes usos de la clase valor. Lo que debes hacer es una copia en profundidad, pienso yo. Un saludo. |
| |||
| On 2007-10-26, R.G.A.M. <rgam1989***gmail.com> wrote: > El compilador me inicializa el programa sin señalar errores pero, > al correr el ejecutable, cuando llega el momento de efectuar la > operación, me indica que debe cerrarse a causa de un problema. La parte crítica del programa parece que es esta: valor = auxiliar; La cuestión es cómo haces esa asignación. Ten en cuenta que auxiliar es una variable que solo existe (en la pila) mientras ejecutas la función. Si en valor guardas referencias a auxiliar, el programa te podrá cascar en cualquiera de los siguientes usos de la clase valor. Lo que debes hacer es una copia en profundidad, pienso yo. Un saludo. |
| |||
| On 2007-10-26, R.G.A.M. <rgam1989***gmail.com> wrote: > El compilador me inicializa el programa sin señalar errores pero, > al correr el ejecutable, cuando llega el momento de efectuar la > operación, me indica que debe cerrarse a causa de un problema. La parte crítica del programa parece que es esta: valor = auxiliar; La cuestión es cómo haces esa asignación. Ten en cuenta que auxiliar es una variable que solo existe (en la pila) mientras ejecutas la función. Si en valor guardas referencias a auxiliar, el programa te podrá cascar en cualquiera de los siguientes usos de la clase valor. Lo que debes hacer es una copia en profundidad, pienso yo. Un saludo. |
| |||
| On 2007-10-26, R.G.A.M. <rgam1989***gmail.com> wrote: > El compilador me inicializa el programa sin señalar errores pero, > al correr el ejecutable, cuando llega el momento de efectuar la > operación, me indica que debe cerrarse a causa de un problema. La parte crítica del programa parece que es esta: valor = auxiliar; La cuestión es cómo haces esa asignación. Ten en cuenta que auxiliar es una variable que solo existe (en la pila) mientras ejecutas la función. Si en valor guardas referencias a auxiliar, el programa te podrá cascar en cualquiera de los siguientes usos de la clase valor. Lo que debes hacer es una copia en profundidad, pienso yo. Un saludo. |
| |||
| On 2007-10-26, R.G.A.M. <rgam1989***gmail.com> wrote: > El compilador me inicializa el programa sin señalar errores pero, > al correr el ejecutable, cuando llega el momento de efectuar la > operación, me indica que debe cerrarse a causa de un problema. La parte crítica del programa parece que es esta: valor = auxiliar; La cuestión es cómo haces esa asignación. Ten en cuenta que auxiliar es una variable que solo existe (en la pila) mientras ejecutas la función. Si en valor guardas referencias a auxiliar, el programa te podrá cascar en cualquiera de los siguientes usos de la clase valor. Lo que debes hacer es una copia en profundidad, pienso yo. Un saludo. |
| |||
| On 2007-10-26, R.G.A.M. <rgam1989***gmail.com> wrote: > El compilador me inicializa el programa sin señalar errores pero, > al correr el ejecutable, cuando llega el momento de efectuar la > operación, me indica que debe cerrarse a causa de un problema. La parte crítica del programa parece que es esta: valor = auxiliar; La cuestión es cómo haces esa asignación. Ten en cuenta que auxiliar es una variable que solo existe (en la pila) mientras ejecutas la función. Si en valor guardas referencias a auxiliar, el programa te podrá cascar en cualquiera de los siguientes usos de la clase valor. Lo que debes hacer es una copia en profundidad, pienso yo. Un saludo. |
| |||
| Gracias por la ayuda, pero hallé la solución (la cual me mata de la vergüenza). Notarán que, en la sentencia "for" que contiene a "j", dentro de la condición, aparece "i < auxiliar.c". ¡Es un bucle infinito! No podía ser el operador de asignación el problema, porque lo había definido, y me funcionaba sin inconvenientes. Muchas gracias por el interés en ayudarme (ahora queda ver si alguien sabe algo para el iostream, en mi debate anterior, en el cual espero que me hubiera expresado de forma entendible). Saludos. |
| |
| |
| |||
| Gracias por la ayuda, pero hallé la solución (la cual me mata de la vergüenza). Notarán que, en la sentencia "for" que contiene a "j", dentro de la condición, aparece "i < auxiliar.c". ¡Es un bucle infinito! No podía ser el operador de asignación el problema, porque lo había definido, y me funcionaba sin inconvenientes. Muchas gracias por el interés en ayudarme (ahora queda ver si alguien sabe algo para el iostream, en mi debate anterior, en el cual espero que me hubiera expresado de forma entendible). Saludos. |
| |||
| Gracias por la ayuda, pero hallé la solución (la cual me mata de la vergüenza). Notarán que, en la sentencia "for" que contiene a "j", dentro de la condición, aparece "i < auxiliar.c". ¡Es un bucle infinito! No podía ser el operador de asignación el problema, porque lo había definido, y me funcionaba sin inconvenientes. Muchas gracias por el interés en ayudarme (ahora queda ver si alguien sabe algo para el iostream, en mi debate anterior, en el cual espero que me hubiera expresado de forma entendible). Saludos. |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Definir Evento para WebControl y usarlo con ASCX | Alhambra Eidos Kiquenet | Newsgroup microsoft.public.es.csharp | 2 | 28-11-2007 16:08:05 |
| Inconveniente con OWA | Luis E. | Newsgroup microsoft.public.es.isaserver | 3 | 11-10-2007 15:33:47 |
| Inconveniente en ASP | Cristian Farias | Newsgroup microsoft.public.es.iis | 3 | 17-06-2006 14:57:00 |
| El operador static como necesidad de para todo main() | 'sabrina | Newsgroup microsoft.public.es.java | 8 | 24-06-2005 17:53:40 |
| Usuarios de internet denuncian trabas para poder darse de baja de un operador | angelishot | Newsgroup es.soc.consumidor | 0 | 25-01-2005 08:56:03 |