Problema con registros
Publicado por Juan Luis (2 intervenciones) el 09/11/2020 23:06:31
Dadas las siguientes constantes y tipos de datos:
escribir un subprograma
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 ][ ]
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


0