Pascal/Turbo Pascal - Matriz de 3*3

   
Vista:
Imágen de perfil de Misael

Matriz de 3*3

Publicado por Misael (34 intervenciones) el 29/04/2015 00:04:00
como puedo hacer un programa que me de el resultado de una matriz de 3*3, Ojo es una sola matriz, en donde ingreso los datos y me de el resultado en pantalla... es multiplicación de una matriz...
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

Matriz de 3*3

Publicado por David (139 intervenciones) el 29/04/2015 12:18:00
Antes de responderte, una aclaración: ¿se trata de multiplicar dos matrices o una matriz por un número?
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
Imágen de perfil de Misael

Matriz de 3*3

Publicado por Misael (34 intervenciones) el 29/04/2015 16:26:08
Es una solo matriz de 3*3, yo ingreso los datos para que me de el resultado.

por ejemplo

filas y las columnas, se multiplicar el primer numero de la columna por toda su fila, te saldran 3 resultados por que es de 3 x 3 y solo los sumas y listo.
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

Matriz de 3*3

Publicado por David (139 intervenciones) el 29/04/2015 17:09:53
Te propongo la siguiente solución:

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
uses
    crt;
 const
     matriz:array[1..3,1..3]of integer=((1,2,3),(4,5,6),(7,8,9));
 
 var
 matrizc:array[1..3,1..3]of integer;
 i,j,c,m,k,t,aux:integer;
begin
 aux:=0;
for I := 1 to 3 do
 begin
   for j := 1 to 3 do
     begin
       for k := 1 to 3 do
         begin
           c:=matriz[i][k] * matriz[k][j];
           aux := aux + c;
         end;
     matrizc[i][j] := aux;
     aux:=0;
     end;
 
 end;
 
 clrscr;
for m := 1 to 3 do
  begin
    for t := 1 to 3 do
     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
1
Comentar
Imágen de perfil de Misael

Matriz de 3*3

Publicado por Misael (34 intervenciones) el 29/04/2015 18:51:50
TE agradezco mucho David tu solución es excelente, el problema es que yo tengo que ingresar los datos, luego el programa hace los cálculos...y los muestra en pantalla...
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

Matriz de 3*3

Publicado por ramon (2072 intervenciones) el 29/04/2015 21:28:32
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
{Mira esto}
 
 program matrizmulti;
  uses
     crt;
  const
     max = 3;
   type
     matriz = array[1..max,1..max] of integer;
 
  var
    toli, nu, h, v, l : integer;
    mult, mat1, mat2 : matriz;
 
   procedure cargamatriz(var m1, m2 : matriz);
   var
      esis : boolean;
      p, t : integer;
   begin
      clrscr;
      h := 1;
      repeat
        v := 1;
        repeat
           write('  Entre Valor De ',h,' / ',v,' : ');
           readln(nu);
           writeln;
             m1[h,v] := nu;
             m2[h,v] := nu;
             v := v + 1;
          until v > max;
      h := h + 1;
      until h > max;
      writeln;
      writeln(' Fin Pulse Una Tecla ');
      readkey;
      clrscr;
   end;
 
  begin
     cargamatriz(mat1, mat2);
     clrscr;
     writeln;
     writeln('     Matriz Creada ');
     writeln;
     for h := 1 to max do
     begin
        write('     ');
        for v := 1 to max do
        begin
            write(' ',mat1[h,v]);
        end;
        writeln;
      end;
      fillchar(mult,sizeof(mult),0);
      for h := 1 to max do
      begin
        for v := 1 to max do
        begin
          toli := 0;
          for l := 1 to max do
          begin
            toli := toli + (mat1[h,l] * mat2[l,v]);
            writeln('  ',mat1[h,l],' X ',mat2[l,v]);
          end;
            mult[h,v] := toli;
            write('       =  ',toli);
            writeln;
       end;
     end;
       writeln;
       writeln('   Matriz Multiplicada ');
       writeln;
       for h := 1 to max do
       begin
          write('    ');
          for v := 1 to max do
          begin
             write(' ',mult[h,v]);
          end;
          writeln;
       end;
      readkey;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar