Pascal/Turbo Pascal - Problema con registros

 
Vista:

Problema con registros

Publicado por Juan Luis (2 intervenciones) el 09/11/2020 23:06:31
Dadas las siguientes constantes y tipos de datos:

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
COLS = ; {algún entero mayor que 1}
FILAS = ; {algún entero mayor que 0}
 
N =  COLS * FILAS;
 
TNumero = 1 .. N div 4;
  TPalo = (bastos, copas, espadas, oros);
  TCarta = record
    case comodin: boolean of
      false : (numero: TNumero; palo: TPalo);
      true : ()
  end;
 
TColumna = record
    tope: 0 .. FILAS;
    cartas: array [1 .. FILAS] of TCarta
  end;
  TTablero = record
    tope : 0 .. COLS;
    columnas : array [1 .. COLS] of TColumna
  end;
 
  TMazo = record
    tope: 0 .. N;
    cartas: array [1..N] of TCarta
  end;
 
  TRangoCols = 1 .. COLS;

escribir un subprograma

1
procedure armarTablero (mazo: TMazo; cantCols: TRangoCols; var t : TTablero);

que copie en las primeras cantCols columnas del tablero t las cartas de mazo.

Las cartas en t deben quedar de tal manera que, si se recorre t en orden creciente de filas y cada fila en orden creciente de columnas, se encuentran las mismas cartas y en el mismo orden que en una recorrida de mazo en orden creciente de sus posiciones.

Se puede asumir que la cantidad de cartas de mazo caben en esas columnas de t.

Ejemplo:

si las cartas de mazo son (4O, 1B, 5B, 3E, 9C) y cantCols es 3 entonces el tope de t va a ser 3 y sus columnas van a ser

[ 4 O ][ 1 B ][ 5 B ]
[ 3 E ][ 9 C ][ ]
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