Autor
|
Tema: Problema al compilar (Leído 1,287 veces)
|
Eva93
Desconectado
Mensajes: 13
|
He estado trabajando en un programa que calcula el cubo de una matriz cúbica de dimension N. Pero al compilar no me sale la opción de dar la dimension y automaticamente siempre sale una matriz 3X3. aqui dejo el programa para ver el error, gracias de antemano ^.^
#include <stdio.h> #include <stdlib.h> #define DIM 100
void lee_Matriz (float A[DIM][DIM], int N); void escribe_Matriz (float A[DIM][DIM], int N); void producto_Matriz (float A[DIM][DIM], float B[DIM][DIM], float C[DIM][DIM], int N);
int main() { float A[DIM][DIM], B[DIM][DIM], C[DIM][DIM]; int N;
printf("Dame la dimension de las matrices: "); scanf("%d", &N); printf("\nIntroduce la matriz: \n\n"); lee_Matriz(A,N); system("pause"); system("cls"); printf("La primera fila es: \n\n"); escribe_Matriz(A,N); printf("La segunda fila es: \n\n"); escribe_Matriz(B,N); system("pause"); system("cls"); printf("El cubo de esa fila es: \n\n"); producto_Matriz(A,B,C,N); escribe_Matriz(C,N);
return 0; }
void lee_Matriz (float A[DIM][DIM], int N) { int i, j; for(i=0;i<N;i++) for(j=0;j<N;j++) { printf("\nDame el elemento %d,%d de la matriz: ",i+1,j+1); scanf("%f",&A[j]); } return ; }
void escribe_Matriz (float A[DIM][DIM], int N) { int i, j; for(i=0;i<N;i++) { printf("("); for(j=0;j<N;j++) { printf(" %.2f ",A[j]); } printf(")\n"); } }
float producto_Matriz (float A[DIM][DIM], float B[DIM][DIM], float C[DIM][DIM], int N) { int i,j,l; for(i=0;i<N;i++) { for(j=0;j<N;j++) { C[j]=0; for(l=0;l<N;l++) { C[j]+=A[l]*B[l][j]; } } } return; }
|
|
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas!
Así, a botepronto, no veo nada raro. De todas formas edita el post y mete el codigo entre las etiquetas correspondientes GeSHi, el desplegable que tendrás arriba a la derecha en el modo de edición, al final de la primera fila de iconos.
¡Saludos!
|
|
« Última modificación: 28 Agosto 2013, 20:25 pm por do-while »
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
Eva93
Desconectado
Mensajes: 13
|
#include <stdio.h> #include <stdlib.h> #define DIM 100 void lee_Matriz (float A[DIM][DIM], int N); void escribe_Matriz (float A[DIM][DIM], int N); void producto_Matriz (float A[DIM][DIM], float B[DIM][DIM], float C[DIM][DIM], int N); int main() { float A[DIM][DIM], B[DIM][DIM], C[DIM][DIM]; int N; printf("Dame la dimension de las matrices: "); printf("\nIntroduce la matriz: \n\n"); lee_Matriz(A,N); printf("La primera fila es: \n\n"); escribe_Matriz(A,N); printf("La segunda fila es: \n\n"); escribe_Matriz(B,N); printf("El cubo de esa fila es: \n\n"); producto_Matriz(A,B,C,N); escribe_Matriz(C,N); return 0; } void lee_Matriz (float A[DIM][DIM], int N) { int i, j; for(i=0;i<N;i++) for(j=0;j<N;j++) { printf("\nDame el elemento %d,%d de la matriz: ",i +1,j +1); } return ; } void escribe_Matriz (float A[DIM][DIM], int N) { int i, j; for(i=0;i<N;i++) { for(j=0;j<N;j++) { } } } float producto_Matriz (float A[DIM][DIM], float B[DIM][DIM], float C[DIM][DIM], int N) { int i,j,l; for(i=0;i<N;i++) { for(j=0;j<N;j++) { C[j]=0; for(l=0;l<N;l++) { C[j]+=A[l]*B[l][j]; } } } return; }
Sigo teniendo problemas para compilar el programa
|
|
« Última modificación: 28 Agosto 2013, 21:09 pm por Eva93 »
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
Te faltan todos los subindices i
Si pones los errores que te da el compilador mucho mejor. Ahí te estará diciendo que falla.
Otra cosa que acabo de ver. Te falta devolver el valor de la función que hace el producto. O quitas el devuelves un float o la declara con tipo de retorno void. De hecho en el prototipo dices que el valor de retorno es void y cuando implementas la función lo has puesto float. Creo que eso es todo...
¡Saludos!
|
|
« Última modificación: 28 Agosto 2013, 21:31 pm por do-while »
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
|
|