FP1 - Práctica 7

Fecha entrega 12-12-2002

Las soluciones no son únicas, estas son las que yo he programado para el laboratorio, no son las mejores seguramente.

PROBLEMAS

Fundamentos de Programación
Fundamentos de Programación I
PRÁCTICA 7
Curso 2002-2003 UNIVERSITAT DE VALÈNCIA


(*) 1. Escribir un programa en C++ que diga cuantas veces se repite una determinada palabra en una frase. Ejemplo:


Palabra: problema
Frase: Este problema es mas interesante que el problema anterior.
Número de repeticiones: 2

Solución


(*) 2. Escribir un programa que elimine todos los espacios en blanco de una frase introducida por teclado.

Solución


(*) 3. Escribir un programa que convierta un string a entero. El programa devolverá también un bool indicando si la conversión se ha podido realizar con éxito o no. Para convertir un carácter a entero se le resta el código del carácter '0'.

Solución


4. Se dice que la palabra a es un anagrama de la palabra ß si es posible obtener a cambiando el orden de las letras de ß. Por ejemplo, MORA y ROMA son anagramas de RAMO.
Realizar un programa que diga si dos palabras introducidas por teclado son anagramas entre si. Considerar que las palabras solo contienen letras mayúsculas.

Solución


(*) 5. Hacer un programa para calcular operaciones sobre puntos en un espacio 2-D. Los puntos tendrán coordenadas (x, y) almacenadas en un registro para cada punto. El programa pedirá el punto1 y el punto2 y calculará la distancia, el vector suma y el vector resta, y los mostrará por pantalla.

Solución


(*) 6. Crear un programa para realizar cálculos sobre triángulos en un espacio 2-D. El programa debe permitir la introducción de las coordenadas (x, y) para los tres vértices del triángulo, que deberán ser almacenados en un registro. Posteriormente, se deberá poder calcular el área del triángulo, el perímetro del triángulo y el punto medio del triángulo.
Area = base * altura / 2 ó
Area = 1/2*((x3.x-x1.x)*(x1.y-x2.y)+(x3.y-x1.y)*(x2.x-x1.x))
Perimetro = (distancia(x1,x2) + distancia(x2,x3) + distancia(x3,x1))
Punto medio = ((x1.x + x2.x + x3.x) / 3, (x1.y + x2.y + x3.y) / 3)

Solución


(**) 7. Hacer un programa para almacenar la información de una tabla de clasificación de un equipo de fútbol en un campeonato. Se utilizará un registro para almacenar el nombre del equipo, los puntos obtenidos, los partidos ganados, empatados y perdidos, los goles a favor y los goles en contra. Se utilizará un vector para almacenar la información de los 10 equipos del campeonato. Se generarán datos aleatorios para rellenar los valores de cada equipo para hacer pruebas. El programa indicará, después de los cálculos aleatorios, cuales son los equipos primero y último, mostrando la información completa. También se podrá mostrar información completa sobre la clasificación.

Solución


8. Crear un programa que gestione una agenda de direcciones. El programa debe permitir añadir nuevas entradas, borrar entradas existentes y buscar entradas por apellido. La información de cada entrada de la agenda debe constar de nombre, apellidos, dirección, teléfono y e-mail. La implementación de la agenda se realizará mediante un vector de estructuras.

Solución