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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Matriz cuarta
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Matriz cuarta  (Leído 1,755 veces)
Eva93

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Matriz cuarta
« en: 29 Agosto 2013, 13:36 pm »

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define DIM 100
  4.  
  5. using namespace std ;
  6.  
  7. void lee_Matriz (float A[DIM][DIM], int N);
  8. void escribe_Matriz (float A[DIM][DIM], int N);
  9. void producto_Matriz (float A[DIM][DIM], float B[DIM][DIM], float C[DIM][DIM], int N);
  10. void Matriz_cuarta (float C[DIM][DIM], float D[DIM][DIM],int N);
  11.  
  12. int main()
  13. {
  14. float A[DIM][DIM], B[DIM][DIM], C[DIM][DIM], D[DIM][DIM];
  15. int N;
  16.  
  17. printf("Dame la dimension de las matrices: ");
  18. scanf("%d", &N);
  19. printf("\nIntroduce la 1a matriz: \n\n");
  20. lee_Matriz(A,N);
  21. system("pause");
  22. system("cls");
  23.  
  24. printf("La primera matriz es: \n\n");
  25. escribe_Matriz(A,N);
  26.  
  27.  
  28.  
  29. printf("El cuadrado de esa matrices es: \n\n");
  30. producto_Matriz(A,A,C,N);
  31. escribe_Matriz(C,N);
  32.  
  33. printf("La cuarta potencia de esa matrices es: \n\n");
  34. Matriz_cuarta(A,D,N);
  35. escribe_Matriz(C,N);
  36.  
  37.  
  38. ;
  39.  
  40. return 0;
  41. }
  42.  
  43. void lee_Matriz (float A[DIM][DIM], int N)
  44. {
  45. int i, j;
  46. for(i=0;i<N;i++)
  47. for(j=0;j<N;j++)
  48. {
  49. printf("\nDame el elemento %d,%d de la matriz: ",i+1,j+1);
  50. scanf("%f",&A[i][j]);
  51. }
  52. return ;
  53. }
  54.  
  55. void escribe_Matriz (float A[DIM][DIM], int N)
  56. {
  57. int i, j;
  58. for(i=0;i<N;i++)
  59. {
  60. printf("(");
  61. for(j=0;j<N;j++)
  62. {
  63. printf(" %.2f ",A[i][j]);
  64. }
  65. printf(")\n");
  66. }
  67. }
  68.  
  69. void producto_Matriz (float A[DIM][DIM], float B[DIM][DIM], float C[DIM][DIM], int N)
  70. {
  71. int i,j,l;
  72. for(i=0;i<N;i++)
  73. {
  74. for(j=0;j<N;j++)
  75. {
  76. C[i][j]=0;
  77. for(l=0;l<N;l++)
  78. {
  79. C[i][j]+=A[i][l]*B[l][j];
  80. }
  81. }
  82. }
  83. return;
  84. }
  85.  
  86. void Matriz_cuarta(float C[DIM][DIM], float D [DIM][DIM],int N)
  87.  
  88. {
  89. int i,j,l;
  90. for(i=0;i<N;i++)
  91. {
  92. for(j=0;j<N;j++)
  93. {
  94.  
  95. D[i][j]=0;
  96. for(l=0;l<N;l++)
  97. {
  98. D[i][j]+=C[i][l]*C[l][j];
  99. }
  100. }
  101. }
  102. return;
  103. }


Solo tengo un pequeño problema sobre este programa, a la hora de mostrar en pantalla la matriz a la cuarta, me vuelve a salir la matriz al cuadrado.

Supongo que es un fallo en la función pero por muchos cambios que haga tengo el mismo problema.

¿ cual es mi error ? gracias de antemano


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Matriz cuarta
« Respuesta #1 en: 29 Agosto 2013, 14:12 pm »

Código
  1. printf("El cuadrado de esa matrices es: \n\n");
  2. producto_Matriz(A,A,C,N);
  3. escribe_Matriz(C,N);
  4.  
  5. printf("La cuarta potencia de esa matrices es: \n\n");
  6. Matriz_cuarta(A,D,N);
  7. escribe_Matriz(C,N);

A ver, analizando tu programa, el código de arriba hace lo siguiente:

* para el producto: C = A * A
* para la cuarta: D = A * A

Si te das cuenta, en la cuarta estas haciendo D = A * A y luego estas imprimiendo C... Cosas del copypaste... Mas bien creo que lo que deberías hacer es D = C * C.

En cualquier caso la función que calcula la cuarta es un poco absurda porque es un calco de la función de producto, la única diferencia es que solo usa una matriz en vez de dos. Si quieres que la función cuarta calcule la cuarta potencia ella sola deberías replante arte el algoritmo.


« Última modificación: 29 Agosto 2013, 14:17 pm por eferion » En línea

Eva93

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Matriz cuarta
« Respuesta #2 en: 30 Agosto 2013, 12:19 pm »

Muchas gracias, al fijarme en mis errores y probar mas programitas ya me van saliendo programas sobre matrices
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines