• Viernes 29 de Marzo de 2024, 09:24

Autor Tema:  Mas matrices  (Leído 1755 veces)

pegui

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Mas matrices
« en: Miércoles 25 de Junio de 2008, 20:13 »
0
Dado un vector construir la matriz.
1 2 3 4 5 6 7 8 9 10

1 2 4 7       donde de la diagonal para abajo son los
2 3 5 8       números del array, quedando una matriz simetrica
4 5 6 9
7 8 9 10

PROGRAM Matriz;
Type
tMatriz=ARRAY [1..N,1..M]OF Integer;
tVector=ARRAY [1..K]OF Integer;
Var
Matriz:tMatriz;
Vector:tVector;
PROCEDURE Diagonal (Vector:tVector;VAR Matriz:tMatriz)
VAR
I,J,Z:Integer;
BEGIN
FOR I:=1 TO K DO {recorro vector}
FOR J:=1 TO N DO {Filas}
FOR Z:=1 TO M DO {Columnas}
Vector:= Matriz[N,M]
END;

pero asi no me la escribe como yo quiero. Como hago??

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Mas matrices
« Respuesta #1 en: Viernes 27 de Junio de 2008, 17:25 »
0
hola, no logro entender bien que es lo que te piden.
Podrías hacer un ejemplo un poquitin más claro?

pegui

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Mas matrices
« Respuesta #2 en: Viernes 27 de Junio de 2008, 18:22 »
0
pues lo que me piden es que del vector que me dan lo pase a una matriz, es decir me dan un vector con: 1,2,3,4,5,6,7,8,9,10 osea un array de 10 posiciones y lo meta en la matriz de esta manera
1
2 3
4 5 6
7 8 9 10
y supuestamente al hacer esto la matriz queda simetrica y se convierte en:
1 2 4 7
2 3 5 8
4 5 6 9
7 8 9 10

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Mas matrices
« Respuesta #3 en: Sábado 28 de Junio de 2008, 01:58 »
0
Código: Delphi
  1.  
  2. var
  3.    matriz: array[1..4, 1..4] of byte;
  4.    vector: array[1..10] of byte;
  5.    i,j,k: integer;
  6. begin
  7.    //inicializamos el vector y la matriz
  8.    //leemos los valores del vector
  9.    k := 1;
  10.    for i:=1 to 4 do
  11.       for j:=1 to i do
  12.       begin
  13.           matriz[i,j] := vector[k];
  14.           k := k + 1;
  15.        end;
  16. end.    
  17.  
  18.  
No lo tengo probado, pero deberá funcionar si no me falla la cabeza.
Saludos