elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 10:06  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Duda Pascal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda Pascal  (Leído 1,161 veces)
-iSiS-

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Duda Pascal
« en: 20 Enero 2010, 12:05 »

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:

Código
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


« Última modificación: 20 Enero 2010, 12:19 por Novlucker » En línea
Festor
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.961


Ver Perfil
Re: Duda Pascal
« Respuesta #1 en: 22 Enero 2010, 12:25 »

Código
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


« Última modificación: 22 Enero 2010, 12:44 por Festor » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda pascal
Programación General
netca 4 1,291 Último mensaje 3 Abril 2011, 22:08
por skapunky
Duda pascal calculadora
Programación General
netca 1 1,439 Último mensaje 12 Abril 2011, 02:20
por Nakp
Duda pascal array unidimensional
Programación General
PyXOLo 3 668 Último mensaje 3 Septiembre 2011, 02:18
por Valkyr
duda en pascal
Programación General
shitoman 1 56 Último mensaje 23 Mayo 2012, 15:27
por Ferno
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines