Pascal/Turbo Pascal - [Problema] Dibujar cuadrado / matriz

 
Vista:
sin imagen de perfil

[Problema] Dibujar cuadrado / matriz

Publicado por Polo (7 intervenciones) el 12/09/2015 19:32:23
Que tal, estoy haciendo un TP y me trabe en un error que me tiraba con un IF para bajar de fila en cada vuelta del For. La idea es que dibuje un cuadrado de 10x10, con todos espacios en azul; y llene los valores de la matriz en 0.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
uses crt;
 
type mtablero = array[1..10, 1..10] of byte;
 
var
 
tablero1,tablero2 : mtablero;
nfila, ncolumna : integer;
 
 
{ Procedimiento para dibujar tablero }
 
procedure dibujar(tablero1,tablero2: mtablero);
        var i, j: byte;
begin
                clrscr;
 
                        for j:= 1 to 10 do
                        begin
 
                                for i:=1 to 10 do
                                begin
                                                TextBackground(Blue);
                                                writeln(' ');
                                                tablero1[i,j]:=0;
                                                readln;
 
 
                                end;
                        end;
end;
 
BEGIN
dibujar(tablero1,tablero2);
END.
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

[Problema] Dibujar cuadrado / matriz

Publicado por ramon (2158 intervenciones) el 12/09/2015 21:36:39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{Algo así}
 
uses crt;
 
type mtablero = array[1..10, 1..10] of byte;
 
var
 
tablero1,tablero2 : mtablero;
nfila, ncolumna : integer;
 
 
{ Procedimiento para dibujar tablero }
 
procedure dibujar(tablero1,tablero2: mtablero);
 var
   i, j: byte;
begin
    clrscr;
     writeln;
   for j:= 1 to 10 do
    begin
    write('      ');
    for i:=1 to 10 do
    begin
     TextBackground(White);
     write(' ');
     TextBackground(Black);
     tablero1[i,j] := 0;
   end;
   writeln;
 end;
end;
 
BEGIN
TextBackground(Black);
dibujar(tablero1,tablero2);
readkey;
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
sin imagen de perfil

[Problema] Dibujar cuadrado / matriz

Publicado por Polo (7 intervenciones) el 12/09/2015 22:06:54
Mmm acabo de probar de esa forma y no, tengo el mismo problema; espera una key o Enter y va printeando de a 1 solo espacio; y despues lineas enteras; pero la idea es que aparezca directamente todo un cuadrado dibujado. Gracias igual!
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

[Problema] Dibujar cuadrado / matriz

Publicado por ramon (2158 intervenciones) el 13/09/2015 11:54:03
Perdona no entiendo yo solo te aclaro la forma según el programa que tu presentas.
Si me explicas un poco lo que quieres hacer podría ayudarte algo 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
sin imagen de perfil

[Problema] Dibujar cuadrado / matriz

Publicado por Polo (7 intervenciones) el 14/09/2015 03:45:13
Perdón si no se entendió. Digamos que quiero que al inicializar el programa, el procedimiento muestre en pantalla el numero "5" (para que se entienda mejor) pero de esta manera:

5555555555
5555555555
5555555555
5555555555
5555555555
5555555555
5555555555
5555555555
5555555555
5555555555
5555555555


Es decir, cuando llega a la columna 10, cambia de fila, y escribe abajo. Pero sin apretar ninguna tecla, que directamente aparezca eso dibujado. Gracias, y saludos!
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

[Problema] Dibujar cuadrado / matriz

Publicado por ramon (2158 intervenciones) el 14/09/2015 16:18:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{Mira esto a ver si vale}
 
 program cuadros;
  uses
    crt;
  type
     cuadro = array[0..9] of string[10];
 
   var
     cuad : cuadro;
     x, y, i : integer;
 
   begin
      clrscr;
      x := 10;
      y := 5;
      for i := 0 to 9 do
      begin
         fillchar(cuad[i],sizeof(cuad[i]),'5');
         cuad[i][0] := chr(10);
         gotoxy(x,y + i);write(cuad[i]);
      end;
      readkey;
   end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

[Problema] Dibujar cuadrado / matriz

Publicado por Polo (7 intervenciones) el 14/09/2015 17:59:19
Muchísimas gracias! Era exactamente eso lo que necesitaba!
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