Está en la página 1de 4

CMP-1101 Programación en C++ +Ej

Ejercicios de Programación C++. Deber 5: Iteraciones for

1. Realizar el ejercicio tomado del capítulo 5 del libro, C++ How to Program de Deitel & Deitel.

En el ejercicio se usa 10 líneas, pero para el deber, el programa debe solicitar al usuario el número de
líneas para las figuras.
En el texto se menciona un “Extra Credit”, para este deber el crédito extra NO es opcional, es decir, debe
realizarse.

2. Escribir un programa, utilizando la instrucción for, que tome como dato un número entero
impar positivo y, utilizando X, muestre en la pantalla una figura en forma de V. Si el usuario
ingresa un número par el programa presentará un error y le pedirá al usuario que vuelva a
ingresar el dato. A continuación se muestran tres ejemplos:

Num: 5 Num: 6 Num: 11


Debe ser impar!
X X Num: 7 X X
X X X X
X X X X X X
X X X X X X
X X X X X
X X X X
X X X X
X X X X
X X X
X X
X

Ing. Pablo Yépez Página 1 de 4


CMP-1101 Programación en C++ +Ej

3. Escribir un programa, utilizando la instrucción for, que tome como dato un número entero
positivo y utilizando los dígitos, muestre en la pantalla una figura con los dígitos distribuidos de
la forma en que se muestra en los ejemplos. A continuación se muestran dos ejemplos:
Num: 5 Num: 11

1 1
121 121
12321 12321
1234321 1234321
123454321 123454321
12345654321
1234567654321
123456787654321
12345678987654321
12345678910987654321
123456789101110987654321

4. Primera parte: Una persona que suele viajar con mucha frecuencia utiliza un candado
de combinación de tres dígitos para asegurar su equipaje. Como tiene muy mala
memoria y siempre se olvida la clave decidió utilizar un truco para recordar la
combinación de los dígitos; en lugar de recordar los dígitos se debe recordar la suma de
los tres dígitos. Es decir, si la clave fuera 4 8 3 se debería recordar solamente la suma
15. Adicionalmente, se debe tomar en cuenta que en el candado no aparece el dígito 0.
Se requiere escribir un programa, utilizando la instrucción for, que presente la lista de
todas las posibles claves que se deberían probar si tan solo se sabe la suma de los
dígitos. El usuario deberá ingresar el valor de la suma y el programa deberá validar que esté
correcta. Se debe numerar cada combinación. Por ejemplo:

Suma:7 Suma:19 Suma:24


1 1:1:5 1 1:9:9 1 6:9:9
2 2:8:9
2 1:2:4 2 7:8:9
3 2:9:8
3 1:3:3 4 3:7:9 3 7:9:8
4 1:4:2 5 3:8:8 4 8:7:9
5 1:5:1 6 3:9:7 5 8:8:8
6 2:1:4 7 4:6:9 6 8:9:7
7 2:2:3 8 4:7:8 7 9:6:9
8 2:3:2 9 4:8:7 8 9:7:8
10 4:9:6
9 2:4:1 11 5:5:9 9 9:8:7
10 3:1:3 12 5:6:8 10 9:9:6
11 3:2:2 13 5:7:7
12 3:3:1 14 5:8:6
13 4:1:2 15 5:9:5
16 6:4:9
14 4:2:1
17 6:5:8
15 5:1:1 18 6:6:7
19 6:7:6
20 6:8:5
21 6:9:4
22 7:3:9
23 7:4:8
24 7:5:7
25 7:6:6
26 7:7:5
27 7:8:4
28 7:9:3
29 8:2:9
30 8:3:8
31 8:4:7
32 8:5:6
33 8:6:5
34 8:7:4
35 8:8:3
36 8:9:2
37 9:1:9
38 9:2:8
39 9:3:7
40 9:4:6
41 9:5:5
42 9:6:4
43 9:7:3
44 9:8:2
45 9:9:1

Ing. Pablo Yépez Página 2 de 4


CMP-1101 Programación en C++ +Ej

Segunda parte:
“El Kakuro es un pasatiempo derivado del Sudoku. Tiene reglas similares a las del
Sudoku y otras reglas similares a los crucigramas. En el Kakuro hay algunas
casillas oscuras en cuyas esquinas aparecen ciertos números. Entonces,
tendremos que rellenar las casillas hacia la derecha o hacia abajo de tal modo
que la suma de los números que coloquemos ahí sea el número que aparece en
la casilla oscura. De ahí que a los Kakuros se les conozca también con el nombre
de Sumas Cruzadas. La regla que hace que este pasatiempo se asemeje al
Sudoku dice que en cada una de estas sumas no podremos repetir el mismo
número. Por supuesto, los únicos números que pueden utilizarse en el Kakuro
son los números del 1 al 9.” 1

Se requiere escribir un programa, utilizando la instrucción for, que presente la lista de todas las
posibles combinaciones de tres posiciones que podrían calzar en una fila de tres de un kakuro
dado un total.

El usuario deberá ingresar el valor del total y el programa deberá validar que esté correcto. Se
debe numerar cada combinación. Por ejemplo:

Total:17 Total:7 Total:19


1 1:7:9 1 1:2:4 1 2:8:9
2 1:9:7 2 1:4:2 2 2:9:8
3 2:6:9 3 3:7:9
4 2:7:8
3 2:1:4 4 3:9:7
5 2:8:7 4 2:4:1 5 4:6:9
6 2:9:6 5 4:1:2 6 4:7:8
7 3:5:9 6 4:2:1 7 4:8:7
8 3:6:8 8 4:9:6
9 3:8:6 9 5:6:8
10 3:9:5 10 5:8:6
11 4:5:8 11 6:4:9
12 4:6:7 12 6:5:8
13 4:7:6 13 6:8:5
14 4:8:5 14 6:9:4
15 5:3:9 15 7:3:9
16 5:4:8 16 7:4:8
17 5:8:4 17 7:8:4
18 5:9:3 18 7:9:3
19 6:2:9 19 8:2:9
20 6:3:8 20 8:4:7
21 6:4:7 21 8:5:6
22 6:7:4 22 8:6:5
23 6:8:3 23 8:7:4
24 6:9:2 24 8:9:2
25 7:1:9 25 9:2:8
26 7:2:8 26 9:3:7
27 7:4:6 27 9:4:6
28 7:6:4 28 9:6:4
29 7:8:2 29 9:7:3
30 7:9:1 30 9:8:2
31 8:2:7
32 8:3:6
33 8:4:5
34 8:5:4
35 8:6:3
36 8:7:2
37 9:1:7
38 9:2:6
39 9:3:5
40 9:5:3
41 9:6:2
42 9:7:1

1
http://contenidos.educarex.es/mci/2007/08/juegos/kakuro.html

Ing. Pablo Yépez Página 3 de 4


CMP-1101 Programación en C++ +Ej

5. Los números romanos son un sistema de numeración que nació en la antigua


Roma. Los romanos adaptaron los símbolos que usaban los etruscos
reemplazándolos por letras parecidas escogidas de su alfabeto latino.
Actualmente se usa el sistema numérico arábigo, pero en ciertas ocasiones, y
para ciertas aplicaciones todavía usamos este antiguo sistema de numeración.
Se requiere hacer un programa que lea un número entero desde 1 hasta 1000 y que muestre
su equivalente en números romanos. En este programa se debe usar la instrucción switch.
Ejemplos.

1 I 19 XIX 756 DCCLVI


5 V 37 XXXVII 371 CCCLXXI
7 VII 65 LXV 588 DLXXXVIII
9 IX 91 XCI 919 CMXIX

Ing. Pablo Yépez Página 4 de 4

También podría gustarte