C/Visual C - aqui esta el codiguillo de matrices

 
Vista:

aqui esta el codiguillo de matrices

Publicado por diego (15 intervenciones) el 21/07/2006 23:51:26
#include <stdio.h>
#include <conio.h>
main()
{
int a[3][3],b[3][3],c[3][3],i,j;
clrscr();
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
{
printf("ingrese el n# a[%d][%d]\n",i,j);
scanf("%d",&a[i][j]);
}
for(i=1;i<=3;n++)
for(j=1;j<=3;m++)

{
printf("ingrese el n# b[%d][%d]\n",i,j);
scanf("%d",&b[i][j]);
}

c[i][j]=a[i][j]*b[i][j]


gotoxy(j*12,i*6);printf("%s ",c[i][j]);
getch();
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:aqui esta el codiguillo de matrices

Publicado por Edgar Muñoz (14 intervenciones) el 22/07/2006 19:01:02
Tu código tiene varios errores, para empezar, vas a realizar una multiplicación matricial estricta (utilizando las reglas del álgebra lineal) o simplemente vas a realizar una multiplicación elemento a elemento.

En lo referente al código, al parecer no estás muy familiarizado con lenguaje C.

Las variables n y m del tercer y cuarto for, no sé que hacen allí.

Los índices de las matrices en lenguaje C comienzan desde 0, no desde 1, así que se produce un error al cargar los datos en las dos matrices y al realizar la multiplicación.

Para presentar los datos será necesario que utilices otros dos for.

Y finalmente el formato del dato en el printf debe ser %d ya que el resultado que debes presentar en un entero.

En vista de la situación, me he tomado la libertad de realizar ciertas correcciones en tu código.

#include <stdio.h>
#include <conio.h>

main()
{
int a[3][3],b[3][3],c[3][3],i,j;

clrscr();
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("ingrese el n# a[%d][%d]\n",i+1,j+1);
scanf("%d",&a[i][j]);
}

for(i=0;i<3;i++)
for(j=0;j<3;j++)

{
printf("ingrese el n# b[%d][%d]\n",i+1,j+1);
scanf("%d",&b[i][j]);
c[i][j]=a[i][j]*b[i][j];
}

for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
gotoxy(j*12,i*6);
printf("%d",c[i][j]);
getch();
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:aqui esta el codiguillo de matrices

Publicado por Nelek (816 intervenciones) el 24/07/2006 10:24:49
Mmmm,

si no recuerdo mal, las matrices se multiplican como combinacion lineal de fila por columna, es decir, primera fila de A por primera columna de B y el resultado es la primera posicion de C.

Dicho en formula: Si suponemos los numeros ya introducidos y puestos en orden. a11, a12...
y dado que A (MxN) * B (NxP) = C (MxP), entonces...

C11 = A11*B11 + A12*B21 + A13*B31;
C12 = A11*B12 + A12*B22 + A13*B32;
....
C32 = A31*B12 + A32*B22 + A33*B32;
....

(fijate en los M y P concretos, de cada posicion de C, eso te determina que fila y que columna de las otras has de coger)

Por lo que...

COMO SE VA A PODER CALCULAR LA MATRIZ "C" CUANDO ESTÁS METIENDO LOS DATOS DE LA MATRIZ "B"??????????????? Se necesitan las dos matrices iniciales completas.

Respecto a las correciones de Edgar estoy de acuerdo. Los vectores empiezan en la posicion 0, no 1. Para presentar una matriz se hace igual que para introducir los datos (2 fors) y en el printf se pone el mismo "%xxx" que en el scanf.

Reestructura el programa en cuatro funciones, entrada de datos para A, entrada de datos para B y, CUANDO AMBAS ESTÉN COMPLETAS, entonces el cálculo de C y por ultimo el presentar los datos de C.

Para hacer el calculo dinamico...

for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
{
c[i][j] = a[i][1]*b[1][j] + a[i][2]*b[2][j] + a[i][3]*b[3][j];
//si quieres presentar aqui los datos... tu mismo, pero yo lo haria en una funcion
//aparte para poder mantener un buen orden y poder organizar los datos en
//lineas distintas sin complicarte demasiado
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:aqui esta el codiguillo de matrices

Publicado por Julio Rios (1 intervención) el 25/06/2009 03:20:57
Disculpa una pregunta....
Yo tengo un programa de suma, resta y multiplicacion de matrices, y me encuentor con el problema a la hora de compilar, estoy utilizando Visual C++ 6.0 y aunque tengo conio.h me bota errores en "gotoxy" y "clrscr" como variables sin declarar, mi pregunta en concreto es cual compilador estas usando para que puedas utilizar los antes mensionados?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar