Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: sora_ori en 16 Enero 2014, 14:17 pm



Título: Suma de matriz + matriz invertida
Publicado por: sora_ori en 16 Enero 2014, 14:17 pm
Hola,

Estoy haciendo un programa que rellene una matriz y que luego la ponga invertida.

Una vez hecho la invertida sumar la matriz con la matriz invertida pero en el resultado muestra esto:

(http://i44.tinypic.com/b8mrep.png)


Aquí dejo el Código:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define FILA 3
  4. #define COLUM 3
  5.  
  6.  
  7. int main(){
  8.    int i=0, j=0, num=0;
  9.    int mat[FILA][COLUM];
  10.    int invert[FILA][COLUM];
  11.    int suma[FILA][COLUM];
  12.  
  13.    // MATRIZ NORMAL
  14.    for(i=0; i<FILA; i++){
  15.             for(j=0; j<COLUM; j++){
  16.                      printf("Rellena la matriz %d %d: ",i,j);
  17.                      scanf("%d", &num);
  18.                      mat[i][j] = num;
  19.             }
  20.    }
  21.  
  22.    // HACER Y MOSTRAR INVERTIDA
  23.    printf("\nMATRIZ INVERTIDA\n\n");
  24.    for(i=0; i<FILA; i++){
  25.             for(j=0; j<COLUM; j++){
  26.                      invert[FILA][COLUM] = mat[FILA - i - 1][COLUM - j - 1];
  27.                      printf("| %d |", invert[FILA][COLUM]);
  28.             }
  29.             printf("\n");
  30.    }
  31.  
  32.    // HACER SUMA
  33.    for(i=0; i<FILA; i++){
  34.             for(j=0; j<COLUM; j++){
  35.                      suma[FILA][COLUM] = mat[FILA][COLUM] + invert[FILA][COLUM];
  36.             }
  37.    }
  38.    // MOSTRAR SUMA
  39.    printf("\nSUMA DE LAS MATRICES\n\n");
  40.    for(i=0; i<FILA; i++){
  41.             for(j=0; j<COLUM; j++){
  42.                      printf("| %d |",suma[FILA][COLUM]);
  43.             }
  44.             printf("\n");
  45.    }    
  46.  
  47.    getch();
  48.    return 0;
  49. }
  50.  


Gracias!


Título: Re: Suma de matriz + matriz invertida
Publicado por: ivancea96 en 16 Enero 2014, 15:05 pm
Código
  1.    // HACER SUMA
  2.    for(i=0; i<FILA; i++){
  3.             for(j=0; j<COLUM; j++){
  4.                      suma[FILA][COLUM] = mat[FILA][COLUM] + invert[FILA][COLUM];
  5.             }
  6.    }
  7.  
Eso pusiste. Recuerda que los DEFINE marcan "constantes". Asi que vas a decir que suma[3][3] es igual a mat[3][3] + invert[3][3]. Y así todo el tiempo. Yo creo que querías decir matriz[j].
Revisa.


Título: Re: Suma de matriz + matriz invertida
Publicado por: sora_ori en 16 Enero 2014, 15:33 pm
jajaja gracias!

No sé pero se me fue la cabeza al poner [FILA][COLUM] en lugar de [j]


Saludos  ;D


Título: Re: Suma de matriz + matriz invertida
Publicado por: leosansan en 16 Enero 2014, 16:35 pm
jajaja gracias!

No sé pero se me fue la cabeza al poner [FILA][COLUM] en lugar de [j]


Saludos  ;D

Observa que no aparece el corchete con la i y el de la j sale en cursiva.

Si no se usan las etiquetas "code" no salen bien los índices de las matrices:


Código
  1. [i][j]

El problema radica en que la  expresión [ i], sin el espacio en blanco que pongo para que salgan los corchetes con la i, como decía el problema está en que dichos corchetes con la i se usan como prefijo de la letra en cursiva, de ahí que el corchete con la j salga en cursiva.


¡¡¡¡ Saluditos! ..... !!!!


(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)