Pascal/Turbo Pascal - Dibujar

 
Vista:

Dibujar

Publicado por Graciela (6 intervenciones) el 21/04/2012 16:46:24
Hola que tal, quiero dibujar los ejes cartesianos , osea en x e y, y que en la interseccion haya un +,
hasta ahora hice esto

Type
Tmatriz = array [ 1..7,1..9] of char;


Procedure Cargamatriz (var recibe:Tmatriz);
var i,j :byte;



begin
clrscr;
for j:= 1 to 3 do
begin
writeln(' | ');
end;
for i:= 1 to 4 do

write('-');


for i:=6 to 7 do write('-');
for j:= 5 to 9 do
begin
writeln(' | ');
end;

end;



Pero me lo dibuja mal :S, alguna ayudita?
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

Dibujar

Publicado por Graciela (6 intervenciones) el 21/04/2012 22:42:21
Lo corregi un poco porque lo hacia mal, no llenaba el vector, pero ahora me lo imprime mal.

Type
Tmatriz = array [ 1..30,1..30] of char;


Procedure Cargamatriz (var ejex:Tmatriz; var ejey:Tmatriz);
var i,j :byte;



begin
for j:=1 to 30 do
begin
ejex[15,j]:='-';
write (ejex[15,j]);
end;

for i:=1 to 30 do
begin
ejey[i,15]:='|';
writeln(ejey[i,15]);
end;

ejex[15,15]:='+';
writeln(ejex[15,15]);





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

Dibujar

Publicado por ramon (2158 intervenciones) el 24/04/2012 19:25:22
{Veras aunque sea una matriz sino la posicionas en pantalla mal vas a realizar el cruce
de lineas mira esto es lo normal en texto pero la longitud de la matriz con relación a la
pantalla es un poco grande}

uses
crt;

Type
Tmatriz = array [ 1..30,1..30] of char;
var
x, y : tmatriz;

Procedure Cargamatriz (var ejex:Tmatriz; var ejey:Tmatriz);
var i,j :byte;

begin
for j:=1 to 30 do
begin
ejex[15,j]:='-';
end;

for i:=1 to 30 do
begin
ejey[i,15]:='|';
end;
ejex[15,15]:='+';
writeln;
writeln;
write(' ');
for i := 1 to 29 do
begin
gotoxy(i,15);write(ejex[15,i]);
gotoxy(15,1 + i);write(ejey[j,15]);
end;

end;

begin
clrscr;
Cargamatriz(x,y);
readln;
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

Dibujar

Publicado por Graciela (6 intervenciones) el 25/04/2012 05:36:44
No tengo por que utilizar la funcion gotoxy, puedo llegar a realizar 2 procedimientos,


Uses crt;
Const maxfilas=40 ;maxcol=40;

Type
Tmatriz = array [1..maxfilas,1..maxcol] of char; //matriz de 40x40

{---------------------------------------}

Procedure Cargarejes (var ejes:Tmatriz); // Realizo un procedimiento que carge en la matriz
var i,j :byte; // - para el eje x , | para el eje y.

begin
clrscr;

for i:=1 to maxfilas do

ejes[ maxfilas div 2,i]:= '-'; // esta en el (20,i)


for j:=1 to maxcol do
begin
ejes[j,maxcol div 2 -1]:= '|'; // esta en el (j,20);
end;

ejes[maxfilas div 2,maxcol div 2]:='+'; // esta en el (20,20)



end ;



{------------------------------------------------------}
Procedure Inicializar_matriz (var iniciar:Tmatriz);
var i,j:byte;
begin
for i:=1 to maxfilas do
for j:=1 to maxcol do
iniciar[i,j] := ' ';

end;

{------------------------------------------------------}
Procedure Imprimir_matriz (var matriz:Tmatriz);
var i,j:byte;
begin
clrscr;

for i:=1 to maxfilas do


for j:=1 to maxcol do
begin
write(matriz[i,j]);
end;





end;

{--------------------------------------------------------}











var matriz:Tmatriz;


Begin
Inicializar_matriz(matriz);
Cargarejes(matriz);
Imprimir_matriz(matriz);



readln;
end.




Pero igual no se que hago mal que me lo imprime todo mal :S, gracias ramon, pero si me lo pudieras solucionar con esta forma mejor.
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

Dibujar

Publicado por Graciela (6 intervenciones) el 25/04/2012 14:43:44
Gracias ramon, ya lo pude solucionar
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