Título: Duda Pascal
Publicado por: -iSiS- en 20 Enero 2010, 12:05 pm
Hola! He hecho un prgrama que me permita ingresar los números en columna uno a uno de una matriz 4x4 y las imprima como matriz, y a continuación me saque el mayor elemento de la diagonal principal y el menor de la diagonal secundaria. Bien, he usado for, y el programa compila y se ejecuta perfectamente. Me gusta hacer los programas y guardarlos hechos de distinta forma, pero en este caso, al querer hacerlo con while, se queda imprimiendo solo la matriz y no el resto. ¿Alguien podría ayudarme? Aqui les dejo las partes que me interesan: writeln('La matriz que usted ha introducido es: '); writeln( ); for i:= low(a) to high(a) do begin for j:=low(a[i]) to high(a[i]) do write(' ', a[i,j]:2, ' '); writeln( ); end; max:= a[1, 1]; for i:= 1 to 4 do begin if (a[i,i] > max) then begin max:=a[i,i]; end; end; writeln( ); writeln('El mayor elemento de la diagonal principal es: ', max); min:= a[1,4]; j:=5; for i:= 1 to 4 do begin if (a[i,j-i] < min) then begin min:=a[i,j-i]; end; end; writeln('El menor elemento de la diagonal secundaria es: ', min); writeln( );
Muchas gracias Nota del mod: se hace más legible con etiquetas de código
Título: Re: Duda Pascal
Publicado por: Festor en 22 Enero 2010, 12:25 pm
writeln('La matriz que usted ha introducido es: '); writeln( ); for i:= low(a) to high(a) do begin for j:=low(a[i]) to high(a[i]) do write(' ', a[i,j]:2, ' '); writeln( ); end; max:= a[1, 1]; for i:= 1 to 4 do begin if (a[i,i] > max) then begin max:=a[i,i]; end; end; writeln( ); writeln('El mayor elemento de la diagonal principal es: ', max); min:= a[1,4]; j:=5; for i:= 1 to 4 do begin if (a[i,j-i] < min) then begin min:=a[i,j-i]; end; end; writeln('El menor elemento de la diagonal secundaria es: ', min); writeln( );
Yo ahí, en el código que has escrito, no veo ningún while... :o
|