Sunteți pe pagina 1din 2

Entrenamiento OIA Politécnico Carolina González y Martín Villagra

Ejercicios para repasar C++

Para tener en cuenta​ El curso de C con Clase (​http://c.conclase.net/curso/​) sirve


tanto como para aprender así como para refrescar la memoria. No tienen que
conocer todo el lenguaje en su totalidad (43 capitulos!), los capítulos relacionados
a clases, sobrecarga, uniones, punteros, etc. son absolutamente innecesarios para
estas olimpiadas.
✩​ =​ Importante

1. Pida al usuario un número entero, un número no entero, un caracter y una


cadena de caracteres. Luego imprimalos en el mismo orden.
2. Calcule la suma de dos números ingresados por teclado. Además diga si la
suma es par o impar.
3. Pida ​n​ números (con ​n​ ingresado por teclado) y calcule su promedio.
4. Pida ​una frase​, diga cuántos caracteres y vocales tiene (por separado).
5. Pida ​una palabra​ y diga si es ​palíndromo​ (o sea, si se lee igual de izquierda
a derecha que de derecha a izquierda).
6. ✩ ​Pida ​una frase​ y diga si es palíndromo, y que además no se tengan en
cuenta los espacios.
7. Implemente una función que diga si un número es par. (Poner un ejemplo
simple dentro de main para verificar si funciona.)
8. Implemente una función que diga si una frase es palíndromo.
9. Ejecute ​cout <<’a’​ y​ cout << ‘a’ - ‘A’.​ Probar con otros caracteres ​ASCII​. ¿Qué
conclusión puedes sacar?
10. Imprima el valor entero de cada una de las letras mayúsculas y minúsculas.
11. ✩ ​Implemente una función que tome un caracter y (si es una letra) lo
convierta a minúscula. Hacer otra que convierta a mayúscula. En ambos casos,
si el caracter no es una letra, deberá devolverse el mismo caracter.
12. Genere una estructura que represente a:

Nombre Notas Promedio


Carolina 7, 8, 9 8
Román 6, 5, 5 5.666
Martín 9, 9, 10 9.333

Esto es: que guarde ​nombre​, ​notas​[3] y ​promedio​ (que deberá ser
calculado en el programa). Crear un arreglo de 3 personas y llenarlo con la
información de la tabla.
13. Genere una estructura con las mismas columnas que el ejercicio anterior, pero
que tenga ​n​ filas (​n​ ingresado por teclado).
14. Haga lo mismo que el anterior pero además pida un número y muestre todas
las personas que tienen ese número de promedio. Si nadie tiene ese promedio,
muestre​ “Nadie”.​
15. Haga ​una función​ que devuelva el máximo entre dos números enteros.
16. Haga ​una función​ que devuelva el máximo entre tres números enteros que
use la función del ​ej. 15​ y que a su vez se llame ​igual​.
Ejercicios para repasar C++ 2014 Página 1
Entrenamiento OIA Politécnico Carolina González y Martín Villagra

17. ✩ ​Aprenda sobre el operador condicional


(​http://c.conclase.net/curso/?cap=018#OP3_OPCOND​). Haga ​una macro​ que
devuelva el máximo entre dos números.
Pista: #define max(a,b) …
18. ✩ ​Calcule la suma de los primeros ​n​ múltiplos naturales de ​k​ (​n​ y ​k
ingresados por teclado).
19. Determine los divisores de un número ​n​. (Por ejemplo, los divisores de 12 son:
1, 2, 3, 4, 6, 12.)
20. Haga una función que calcule ​n​! ​(factorial de n) de manera recursiva y otra
que lo calcule usando un ​for​ (es decir, de manera iterativa).
Recordar: n! = 1 × 2 × 3 × … × n y también n! = (n-1)! × n
21. ✩​ ​Haga una función que calcule ​a​b​ (siendo ​a​ y ​b​ enteros positivos)
recursivamente​.
22. ✩​ ​Haga un programa al que le ingrese las coordenadas de 3 puntos (6
enteros), y me diga si el tercer punto esta dentro del rectángulo determinado
por los otros dos. ​Usar solamente un if.
Nota: el rectángulo queda determinado por dos vértices opuestos.
23. ✩​ ​Si se accede a una posición inválida de un arreglo (posición negativa o
mayor al tamaño) es muy probable que se genere un error (generalmente va a
aparecer ​Segmentation Fault, Runtime Error ​o​ SIGSEGV​). Ahora, analice
porqué el siguiente fragmento de programa no genera errores:

int a[5], N=99999;


if(N<5 && a[N])
cout << “a[N] no es cero” << endl;

Pista: ​http://c.conclase.net/curso/?cap=004c#Op_cortocircuito

Ejercicios para repasar C++ 2014 Página 2

S-ar putea să vă placă și