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;
}
#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;
}