Este documento describe un programa que crea y valida una matriz. Contiene código para crear un formulario con una cuadrícula y botones. Hay procedimientos para llenar la matriz con datos de entrada, cargar la matriz en la cuadrícula, y validar si la matriz es diagonal revisando que solo contenga valores distintos de cero en la diagonal principal.
3. type Arreglo_Matriz = Array [1..10,1..10] of real; var Form1: TForm1; Matriz_A: Arreglo_Matriz; implementation {$R *.dfm}
4. ProcedureLlenar_Matriz (outArreglo:Arreglo_Matriz; Cont:Integer); var fila,columna:integer; begin for fila:=1 toCont do for columna:=1 toCont do Arreglo[fila,columna]:=StrtoFloat(inputbox('Llenando Arreglo','Intro elemento ['+inttostr(fila)+','+inttostr(columna)+']','')); end;
5. procedureCargar_Rejilla ( Arreglo:Arreglo_Matriz; Cont:Integer; Rejilla:TStringGrid); var fila,Columna:integer; begin for fila:=1 toCont do for columna:=1 toCont do begin Rejilla.Cells[columna-1,fila-1]:=FloatToStr(Arreglo[fila,columna]); end; end;
6. procedure TForm1.Boton_LlenarClick(Sender: TObject); var Cantidad:integer; begin Cantidad:=StrToInt(Caja_Dimension.text); Llenar_Matriz(Matriz_A,Cantidad); Rejilla.RowCount:=StrtoInt(Caja_Dimension.Text); Rejilla.ColCount:=StrtoInt(Caja_Dimension.Text); Cargar_Rejilla(Matriz_A,Cantidad,Rejilla); end;
7. procedure TForm1.Boton_ValidarClick(Sender: TObject); var Cantidad,fila,columna:integer; Valida:boolean; begin Valida:=true; Cantidad:=StrToInt(Caja_Dimension.text); for fila:=1 to Cantidad do for columna:=1 to Cantidad do begin If (fila <> columna) and (Matriz_A[fila,columna] <> 0) then Valida:=false; end; If (Valida = true) then Eti_Resultado.Caption:= 'Esta es una Matriz DIAGONAL' else Eti_Resultado.Caption:= 'NO es una Matriz DIAGONAL'; end;