elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda con código if [c++]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: duda con código if [c++]  (Leído 4,434 veces)
andrex.125

Desconectado Desconectado

Mensajes: 19


Ver Perfil
duda con código if [c++]
« en: 29 Mayo 2013, 19:16 pm »

hola , tengo una duda, estoy haciendo un programa sobre matrices donde sumo, resto y multiplico, mi error es en la multiplicación, se sabe que para multiplicar dos matrices la condición es: que el número de columnas de la matriz A sea igual al número de filas de matriz B, ya realice todo el código en esta parte, ahora si el error estoy intentando hacer una comprobación con un if para que me multiplique solo cuando el numero de filas sea igual al numero de columnas y de lo contrario me muestre un mensaje, el problema es que me arroja la multiplicación y el mensaje.

Código:
Matriz Matriz::MultiDosMarices (Matriz m) //se crea objeto Matriz para guardar resultado de la multiplicacion de las dos matrices 
 {
  Matriz mul (numfilas, numcolumnas);
  if (numfilas == numcolumnas)
  {
for (int i=0;i<numfilas;i++)
    {
    for (int j=0;j<numcolumnas;j++)
{
mul.matriz [i][j]=0;
for (int k=0;k<numcolumnas;k++)
{
mul.matriz[i][j]=mul.matriz[i][j]+matriz[i][k]* m.matriz[k][j];
}          
}

    }
  return mul;
  }
  else
  {
  cout<<"esta multiplicacion no se puede realizar."<<endl;
  }
}

Esta es la captura:


Gracias.


En línea

BlackM4ster


Desconectado Desconectado

Mensajes: 499


Error, el teclado no funciona. Pulse F1 para continuar


Ver Perfil WWW
Re: duda con código if [c++]
« Respuesta #1 en: 29 Mayo 2013, 19:22 pm »

Código
  1. if (numfilas == numcolumnas)

Está comparando el numero de filas con el numero de columnas...
Mira tus matrices... 3!=2


En línea

- Pásate por mi web -
https://codeisc.com
andrex.125

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: duda con código if [c++]
« Respuesta #2 en: 29 Mayo 2013, 19:29 pm »

Código
  1. if (numfilas == numcolumnas)

Está comparando el numero de filas con el numero de columnas...
Mira tus matrices... 3!=2

Exacto, pero es que debería arrojarme el mensaje solamente, pero me arroja también la multiplicación.
En línea

BlackM4ster


Desconectado Desconectado

Mensajes: 499


Error, el teclado no funciona. Pulse F1 para continuar


Ver Perfil WWW
Re: duda con código if [c++]
« Respuesta #3 en: 29 Mayo 2013, 19:32 pm »

Ah, no había entendido bien entonces...
En línea

- Pásate por mi web -
https://codeisc.com
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: duda con código if [c++]
« Respuesta #4 en: 29 Mayo 2013, 19:35 pm »

Tal como "aparenta" el código, sólo introduces las dimensiones de una matriz lo que da como resultado que siempre podrás sumarlas y restarlas pero como multiplicarlas tienen que ser cuadradas, sino no se cumple la condición para poder multiplicarlas.

Tendrás que modificar el código para que puedas introducir las dimensiones de cada matriz de forma independiente.

Saluditos!. ... ...


REEDITO:Te arroja valores basura porque te vas fuera de las dimensiones y serán debidos a otra parte del código.
« Última modificación: 29 Mayo 2013, 19:38 pm por leosansan » En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: duda con código if [c++]
« Respuesta #5 en: 29 Mayo 2013, 19:43 pm »

Tal como "aparenta" el código, sólo introduces las dimensiones de una matriz lo que da como resultado que siempre podrás sumarlas y restarlas pero como multiplicarlas tienen que ser cuadradas, sino no se cumple la condición para poder multiplicarlas.
¡Error!

Para multriplicar dos matrices, la segunda tiene que tener el mismo número de columnas que la primera. La condición que ha puesto es correcta pero debe retornar un NULL para indicar que no se pudo hacer.
« Última modificación: 29 Mayo 2013, 21:00 pm por amchacon » En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
andrex.125

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: duda con código if [c++]
« Respuesta #6 en: 29 Mayo 2013, 19:47 pm »

¡Error!

Para multriplicar dos matrices, la segunda tiene que tener el mismo número de columnas que la primera. La condición que ha puesto es correcta pero debes retornar un NULL para indicar que no se pudo hacer.


Disculpa, me podrías indicar como se retorna un NULL.
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: duda con código if [c++]
« Respuesta #7 en: 29 Mayo 2013, 20:49 pm »

Código
  1. return NULL;

Despues tienes que llamar a la función así:

Código
  1. if (!MultiDosMarices)
  2. {
  3.   cout<<"No se pudo completar la operacion";
  4. }
  5. else
  6. {
  7.  // Mostramos el resultado por pantalla
  8. }

Si te parece más intuitivo:

Código
  1. if (MultiDosMarices == NULL)
  2. {
  3.   cout<<"No se pudo completar la operacion";
  4. }
  5. else
  6. {
  7.  // Mostramos el resultado por pantalla
  8. }
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
andrex.125

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: duda con código if [c++]
« Respuesta #8 en: 29 Mayo 2013, 20:53 pm »

¡Error!

Para multriplicar dos matrices, la segunda tiene que tener el mismo número de columnas que la primera. La condición que ha puesto es correcta pero debes retornar un NULL para indicar que no se pudo hacer.



Muchas gracias por tu ayuda, ya logre resolverlo.
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: duda con código if [c++]
« Respuesta #9 en: 29 Mayo 2013, 23:53 pm »

¡Error!

Para multiplicar dos matrices, la segunda tiene que tener el mismo número de columnas que la primera. La condición que ha puesto es correcta pero debe retornar un NULL para indicar que no se pudo hacer.


Creo que no te has fijado bien o más bien no basta con el "pantallazo" para salir de dudas.

Si te fijas comienza introduciendo las dimensiones de una matriz y sus elementos, para posteriormente preguntar si quiere introducir otra matriz, pero ya no pregunta por las dimensiones. Fíjate en el "sub-pantallazo":




¿Ves como en esta segunda matriz entra los dato directamente?. No ha preguntado por la dimensión de esta nueva matriz y claro, en estas condiciones ambas , al no ser cuadradas, no cumplen con la condición de que la segunda tenga el mismo número de columnas que la primera.  ;)

Pero todo es un suponer a partir de la dichosa imagen, pues a lo mejor, pudiera ser  que, es posible que ..... haya introducido previamente las dichositas dimensiones.

Vamos, querido colega amchacon, que para no perder la costumbre quería llevarte un poquito la contraria ...... :laugh: ....porfi, tómalo como un cumplido.

Un fuerte abrazo y como siempre .......Saluditos!. .... ...

 
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda en el codigo vb
Programación Visual Basic
josemer 0 1,308 Último mensaje 23 Enero 2006, 20:32 pm
por josemer
duda en un codigo vb
Programación Visual Basic
ugruhell 6 2,415 Último mensaje 26 Agosto 2006, 00:20 am
por Ironhorse
Duda con codigo de vb6 y el MSN « 1 2 »
Programación Visual Basic
Anteros 10 3,379 Último mensaje 6 Abril 2007, 01:54 am
por Sancho.Mazorka
Duda codigo PHP
PHP
knox18 1 1,690 Último mensaje 9 Septiembre 2007, 17:24 pm
por P[i]
Duda codigo PHP « 1 2 »
PHP
knox18 14 5,400 Último mensaje 14 Septiembre 2007, 15:15 pm
por Alex_bro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines