[ Foro de Pascal ]
buenas , profesor queria me dieras tus consejos a mejorar un programa que bueno segun lo que me piden me funciona como lo he hecho pero quiero ver tu punto de vista en como hubiese sido mas elegante o eficiente la solucion, es para crecer gracias,
el programita es basico y se trata de a partir de tres vectores ingresados por teclado ,crear su respectiva matriz:
A= 10 12 2 5 4
B= 1 8 3 19 20
C= 4 6 23 9 15
10 12 2 5 4
entonces Matriz= 1 8 3 19 20
4 6 23 9 15
bien yo lo he hecho asi, espero por favor me indiques mejoras y correcciones que te agradezco profesor.
program devectoresAmatriz;
uses crt;
const M=3;
var A,B,C:array[1..15] of integer;
Matriz:array[1..15,1..15] of integer;
i,j,N,fila:integer;
begin
writeln('digite las dimensiones de los tres vectores :' );
readln(N);
writeln('digite los valores para el vector A : ');
for i:=1 to N do
begin
writeln('A[',i,']:');
readln(A[i]);
end;
clrscr;
writeln('digite los valores para el vector B : ');
for i:=1 to N do
begin
writeln('B[',i,']:');
readln(B[i]);
end;
clrscr;
writeln('digite los valores para el vector C : ');
for i:=1 to N do
begin
writeln('C[',i,']:');
readln(C[i]);
end;
writeln;
for i:=1 to M do
begin
fila:=i;
for j:=1 to N do
begin
if fila=1 then
Matriz[fila,j]:=A[J]
else
if fila=2 then
Matriz[fila,j]:=B[j]
else
if fila=3 then
Matriz[fila,j]:=C[j];
end;
end;
(*mostrar la matriz*)
for i:=1 to M do
begin
for j:=1 to N do
write(Matriz[i,j]:3);
writeln;
end;
readln;
end.
Está muy bien. Yo cambiaría la parte de ingresar cada vector a la matriz, en vez de utilizar dos ciclos for, lo haría con uno solo, de la siguiente manera:
for j:=1 to N do
begin
Matriz[1,j]:= A[j];
Matriz[2,j]:= B[j];
Matrz[3,j]:= C[j];
end;
Saludos.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)