Pascal/Turbo Pascal - Multiplicacion de matrices en pascal

 
Vista:
Imágen de perfil de wilber plata

Multiplicacion de matrices en pascal

Publicado por wilber plata (1 intervención) el 12/02/2014 18:32:21
Hola, necesito saber como cargar los datos de las matrices y como seria la codificacion especifica para este ejercicio en pascal.

"Multiplica dos matrices triangulares inferiores representadas en vectores:
A
2 0 0
1 4 0
7 6 2

B
6 7 0
1 0 0
2 8 3

El seudocodigo que me dieron fue este:

For i = 1 to n do
k = i * ( i - 1 ) / 2
For j = 1 to i do
C ( k + j ) = 0
For m = j to i do
C ( k + j ) = c ( k + j ) + A ( k + m ) * B ( m * ( m - 1) / 2 + j )
end For
end For
end For

Los datos que me dieron fueron:

Vect V[1] V[2] V[3] V[4] V[5] V[6]
A 2 1 4 7 6 2
B 1 6 7 2 8 3
C


A y B son los valores de las matrices y C seria el resultado de la multiplicacion de ambas.

n= 3 que seria el orden de las matrices (3x3).

Por favor necesito saber como codificar esto en pascal para que corra y establecer las variables.
Gracias.
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

Multiplicacion de matrices en pascal

Publicado por Rene gar (58 intervenciones) el 12/02/2014 23:49:19
buenas fiera te dejo mi version me mire una informacion de como multiplicar matrices y la hice de ese modo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var
 matriz1:array[1..3,1..3]of integer=((2,0,0),(1,4,0),(7,6,2));
 matriz2:array[1..3,1..3]of integer=((6,7,0),(1,0,0),(2,8,3));
 matrizc:array[1..3,1..3]of integer;
 i,j,c,m,k,t,almacen:integer;
begin
 almacen:=0;
for I := 1 to 3 do
 begin
   for j := 1 to 3 do
     begin                   {aqui hace las operaciones}
       for k := 1 to 3 do
         begin
           c:=matriz1[i][k]*matriz2[k][j];
           almacen:=almacen+c;
         end;
     matrizc[i][j]:=almacen;
     almacen:=0;
     end;
 
 end;
 
 
for m := 1 to 3 do
  begin
    for t := 1 to 3 do     {muestra todo los resultados en pantalla}
     begin
       writeln(matrizc[m][t]);
 
     end;
 
  end;
 
readln;
end.

la pagina donde me fije sobre la multiplicacon de matrices fue aqui http://mx.answers.yahoo.com/question/index?qid=20071027165813AABhcQP checala a ver si era lo que necesitabas sino dímelo saludos fiera
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

Multiplicacion de matrices en pascal

Publicado por Anpribe (1 intervención) el 23/01/2015 14:29:52
Perdona, pero lo he visto, lo he probado y no funciona.
El fallo puede estar en que, si los datos ya nos vienen dados, tenemos que declarar CONST, y no VAR.
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

Multiplicacion de matrices en pascal

Publicado por ramon (2158 intervenciones) el 23/01/2015 22:00:58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{Mira esto}
 
 uses
    crt;
 const
     matriz1:array[1..3,1..3]of integer=((2,0,0),(1,4,0),(7,6,2));
     matriz2:array[1..3,1..3]of integer=((6,7,0),(1,0,0),(2,8,3));
 
 var
 matrizc:array[1..3,1..3]of integer;
 i,j,c,m,k,t,almacen:integer;
begin
 almacen:=0;
for I := 1 to 3 do
 begin
   for j := 1 to 3 do
     begin                   {aqui hace las operaciones}
       for k := 1 to 3 do
         begin
           c:=matriz1[i][k] * matriz2[k][j];
           almacen := almacen + c;
         end;
     matrizc[i][j] := almacen;
     almacen:=0;
     end;
 
 end;
 
 clrscr;
for m := 1 to 3 do
  begin
    for t := 1 to 3 do     {muestra todo los resultados en pantalla}
     begin
       write('  ',matrizc[m][t]);
     end;
      writeln;
  end;
 
readln;
end.
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