Delphi - matriz

 
Vista:

matriz

Publicado por marcos (3 intervenciones) el 05/11/2008 04:13:06
hola
un amigo me pidio que lo ayudara buscando en internet alguna idea de como resolver una tarea para el instituto, se trata de un problema o un programa en lenguaje delphi, y en honor a la verdad yo no se mucho del tema, y estuve buscando por internet alguna informacion sobre este lenguaje y vine a dar con este foro.

el problema dice asi:
Escribir un programa que genere una matriz cuadrada A(i,j)nxn cuyos elementos externos alternos y continuos tomen calores de 0-1
A(i,j) ; i=1,n ; j=1,n

bueno, eso es todo, yo trate de hacerlo, sin ningun resultado.
bueno, segun fui leyendo por ahi sobre matrices, creo que un ejemplo de estas matrices seria
n=6 n=7
0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 0 0 1 1 1 1 1 0
0 1 0 0 1 0 0 1 0 0 0 1 0
0 1 0 0 1 0 0 1 0 1 0 1 0
0 1 1 1 1 0 0 1 0 0 0 1 0
0 0 0 0 0 0 0 1 1 1 1 1 0
0 0 0 0 0 0 0

por lo poco que se, en el programa deberia de haber un edit para ingresar n y un boton para que luego el programa de como respuesta la matriz.

eso seria todo, si alguien me pudiera colaborar con el programa seria de mucha ayuda, gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:matriz

Publicado por marcos (3 intervenciones) el 05/11/2008 04:21:27
n=6
0 0 0 0 0 0
0 1 1 1 1 0
0 1 0 0 1 0
0 1 0 0 1 0
0 1 1 1 1 0
0 0 0 0 0 0

no salio bien el ejemplo :)

n=7
0 0 0 0 0 0 0
0 1 1 1 1 1 0
0 1 0 0 0 1 0
0 1 0 1 0 1 0
0 1 0 0 0 1 0
0 1 1 1 1 1 0
0 0 0 0 0 0 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:matriz

Publicado por E.T. (1244 intervenciones) el 08/11/2008 00:31:48
Haciendo un poco de trampa, resulta algo sencillo:

declara estas variables, declaralas dentro del botón donde pongas el codigo:

i, j, k, k2, a:integer;
matriz:array of array of integer;
s:string;

Luego en la forma inserta un edit (del cual se toma el tamaño de la matriz), luego un memo, para ver los resultados

y en un botón pon este código, no cambies el nombre de los componentes

k:=0;
for i:=0 to length(matriz)-1 do begin
SetLength(matriz[i], 0);
end;
SetLength(matriz, StrToInt(Edit1.Text));
for i := 1 to StrToInt(Edit1.Text) do begin
SetLength(matriz[i-1], StrToInt(Edit1.Text));
end;
k:=StrToInt(Edit1.Text);
if (k mod 2) = 0 then
k2:=trunc(k div 2)
else
k2:=trunc(k div 2)+1;
for i := 1 to k2 do begin
if (i mod 2)=0 then
a:=1
else
a:=0;
for j := i to (k+1-i) do begin
matriz[i-1,j-1]:=a;
matriz[k-i,j-1]:=a;
end;
for j := i to (k+1-i) do begin
matriz[j-1,k-i]:=a;
matriz[j-1,i-1]:=a;
end;
end;
Memo1.Clear;
for i:= 1 to StrToInt(Edit1.Text) do begin
s:='';
for j:=1 to StrToInt(Edit1.Text) do begin
s:=s+' '+IntToStr(matriz[i-1,j-1]);
end;
Memo1.Lines.Add(s);
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar