P. 1
EjerciciosC++

EjerciciosC++

|Views: 2.885|Likes:
Publicado porManu Mola
Ejercicios de iniciación a C++
Ejercicios de iniciación a C++

More info:

Published by: Manu Mola on Dec 05, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/20/2013

pdf

text

original

Básicos

Ejercicio 1
Crear un programa en C que lea dos números y que escriba el mayor de los dos.

Ejercicio 2
Crear un programa en C que lea un número e indique si es par o no

Ejercicio 3
Leer tres números y escribir el mayor de los tres

Ejercicio 4
Escribir un programa en C que lea números enteros indefinidamente hasta que llegue el número 0

Ejercicio 5
Escribir un programa C que lea exactamente 8 números y luego escriba la suma de todos ellos

Ejercicio 6
Modificar el programa anterior para que en lugar de leer 8 números, se puedan leer tantos números como se quiera hasta que llegue un cero. El resultado es la suma de todos los números leídos.

Ejercicio 7
Intentar escribir un programa en C que lea tres números e indique el tipo de triángulo que forman (isósceles, equilátero, escaleno). Comprobar que los números realmente formen un triángulo, sino emitir el error.

Ejercicio 8
Modificar el programa anterior para que se pueda repetir indefinidamente si el usuario lo desea (que el ordenador pregunte ¿Quiere continuar? y la persona pueda responder S ó N)

Ejercicio 9
Escribir un programa que escriba todos los múltiplos de 3 del número 1 al 3000

Ejercicio 10
Programa que lea una serie de números (leer hasta que llegue el cero por ejemplo) y que calcule su media aritmética

Ejercicio 11
Programa que escriba todo el código ASCII (el código ASCII va de 0 a 255 y representa el número con el que los ordenadores almacenan los caracteres)

Ejercicio 12
Programa que lea un número entero por teclado y que calcule su factorial

Ejercicio 13
Programa que lea una serie de números por teclado e indique cuál es el mayor

Ejercicio 14
Crear un programa que lea un número entero y a partir de él cree un cuadrado de asteriscos con ese tamaño. Los asteriscos sólo se verán en el borde del cuadrado, no en el interior-

Ejercicio 15
Crear un programa C que lea cantidades y precios y al final indique el total de la factura. Primero se pregunta: Introduzca la cantidad vendida tras lo cual el usuario introducirá un número entero positivo. Después se pregunta: Introduzca el precio (que será un número decimal positivo). La lectura termina cuando en la cantidad se introduzca un cero. Si es así se escribirá el total.

Ejercicio 16
Crear un programa para calcular los salario semanal de unos empleados a los que se les paga 15 euros por hora si éstas no superan las 35 horas. Cada hora por encima de 35 se considerará extra y se paga a 22 €. El programa pide las horas del trabajador y devuelve el salario que se le debe pagar. Además el programa debe preguntar si deseamos calcular otro salario, si es así el programa se vuelve a repetir

Ejercicio 17
Escribir un programa en C que lea números enteros indefinidamente hasta que llegue el número 0

Ejercicio 18
Crear el programa asteriscos4 en el que se introduce un número entero y se crea una pirámide de asteriscos. Por ejemplo si se introduce el 6, el resultado sería: * *** ***** ******* ********* ***********

Ejercicio 19
Modificar el ejercicio anterior para que aparezca un rombo.

Ejercicio 20
Crear un programa que escriba dos columnas de números, en la primera se colocan los números del 1 al 100, en la segunda los números del 100 al 1

Ejercicio 21
Crear un programa en C que lea un número entero y positivo y que escriba tres columnas. La primera cuenta desde uno hasta el número escrito contando de uno en uno; la segunda columna cuenta de dos en dos y la tercera de tres.

Ejercicio 22
Crear el programa tablaMultiplicar que escriba la tabla de multiplicar del número 1 al número 15

Ejercicio 23
Crear un programa que muestre un menú como este: 1) Salir 2) Sumatorio 3) Factorial Tras mostrar el menú, el programa debe leer un número del 1 al tres si se elige 1, el programa acaba. Si se elige 2 se calcula el sumatorio del número, si se elige 3 se calcula el factorial (en ambos casos el programa pedirá escribir el número sobre el que se calcula el sumatorio o el factorial). Tras calcular el sumatorio o el factorial e indicar el resultado, el programa volverá a mostrar el menú y así sucesivamente.

Ejercicio 24
Crear un programa que lea un número e indique su valor en la sucesión de Fibonacci (llamarle Fibonacci). Esta sucesión calcula su valor de la siguiente manera. Sólo es válido para números positivos, si el número es un uno, la sucesión vale 1 si es dos, la sucesión vale 2. Para el resto la sucesión es la suma de la sucesión de los dos números anteriores. Es decir, para 7 el valor sería lo que valga la sucesión de 6 más la sucesión de cinco.

Ejercicio 25
Introducir por teclado un número NUM. Una vez borrada la pantalla, permitir la introducción de otros números hasta adivinar el número tecleado en primer lugar.

Ejercicio 26
Realizar un programa que simule un reloj digital. Ayudarse de la función sleep(n_Milisegundos) para esperar 1 seg cada vez y time(0) para obtener la hora inicial actual en segundos, la cual se deberá pasar a formato estándar. Para actualizar la hora solo será necesario un barrido de pantalla mediante system(“cls”).

Arrays
Ejercicio 1. Copia de arrays
Crear un programa que contenga una función llamada copiarArray ) que reciba dos arrays y el tamaño de los mismos (deben de ser del mismo tamaño) y que consiga copia en el segundo array el contenido del primero

Ejercicio 2. Ordenar pares e impares
Crear un programa llamado paresImpares que cree un array de 100 números aleatorios del 1 al 1000. Una vez creado, mostrar el contenido y después organizarlo de forma que estén juntos los elementos pares y los impares. Después, volver a mostrar el array

Ejercicio 3. Vendedores
Crear un programa llamado vendedores que cree un array de 18 X 10 indicando que poseemos una empresa de 18 vendedores cada uno de los cuales vende 10 productos. El array almacena los ingresos obtenidos por cada vendedor en cada producto, de modo que un menú permite almacenar los ingresos, revisar el total de cada vendedor y obtener los ingresos totales

Ejercicio 4. Reserva de asientos
Crear un programa que mediante un menú admita reservar o cancelar asientos de un avión, así como mostrar qué asientos están ocupados y libreas actualmente. El array tendrá 25 filas y 4 columnas

Ejercicio 5. Contar letras repetidas
Crear un programa que cree un array con 1000 letras mayúsculas aleatorias y que cuenta cuántas veces aparece cada letra en el array

Ejercicio 6.
Lee 5 números y crea un vector con ellos. Luego imprime la posición y el valor.

Ejercicio 7.
Realiza un programa que genera los números pares de 2 a 200 y llena un vector con ellos. Luego imprime el vector.

Ejercicio 8.
Escribir un programa que lea una línea te texto, la almacene en un vector y la imprima al revés.

Ejercicio 9.
Dado un vector de n posiciones introducidas desde teclado e inicializado a valores aleatorios entre 1 y 100, calcular y mostrar el menor y el mayor de los datos de dicho vector.

Ejercicio 10.
Dado un vector de n posiciones introducidas desde teclado e inicializado a valores aleatorios entre 1 y 20, calcular y mostrar un segundo vector que contenga sus mismas componentes al cuadrado.

Ejercicio 11.
Dados 15 valores y almacenados en un vector, definir una función que ordene dicho vector de manera decreciente (mayor-menor).

Ejercicio 12.
Diseñar una función que devuelva la posición en un array en el cual se encuentra el elemento pasado por parámetro.

Estructuras
Ejercicio 1. Geometría
Crear un programa que contenga los siguientes elementos:
• • • • • •

Una estructura que represente puntos formada por sus coordenadas x e y Una estructura que represente triángulos utilizando tres vértices (cada vértices es un elemento de tipo punto) Una función llamada mostrarCoordenadas que saque por pantalla las coordenadas de los puntos en este formato: (2,3) (la x es el dos y la y el tres) Una función llamada cambiarCoordenadas que permita cambiar las coordenadas del punto que se envía como parámetro. Una función llamada distanciaPuntos que devuelva la distancia entre dos puntos (que recibe como parámetros de la función) Una función llamada escribirTriangulo que escriba los vértices del triángulo en esta forma, por ejemplo: (3,2),(8,3),(7,5) Una función llamada perimetroTriangulo que permita escribir el perímetro de un triángulo dado. Para solucionarlo. podemos entender que el perímetro de un triángulo es la suma de las distancias entre cada vértice

Ejercicio 2. Bancos
Crear un programa que contenga los siguientes elementos:
• •

Una estructura llamada Titular que represente clientes con su nombre, apellidos, dirección y dni Uuna estructura llamada CuentaCorriente que tenga como campos, dos titulares, un número de cuenta (serán 20 caracteres) y el saldo de la cuenta (double) Crear la función rellenarCuenta que devuelva como resultado una cuenta cuyos datos deben leerse por teclado, pero teniendo en cuenta que: Puede haber uno o dos titulares (al menos uno), El número de cuenta deben de ser exactamente 20 números y El saldo debe de ser positivo Crear la función cambiarSaldo que reciba una cuenta y un valor decimal y cambie el saldo de la cuenta para que coincida con el valor del número decimal

Punteros
Ejercicio 1. Menú inicio a punteros
Realizar un programa que pida por teclado un entero, un carácter, un decimal, una cadena de hasta 8 caracteres y un vector de 10 enteros. Apuntar a su contenido mediante los tipos de punteros correspondientes y a partir de ellos (y solo de ellos) facilitar en un menú las siguientes opciones: 1) Modificar el entero por el doble de su valor y mostrarlo. 2) Comprobar si dicho carácter es una letra ó un dígito y mostrar tanto el carácter como si es una cosa u otra. 3) Modificar el decimal al resultado de dividir el cod. ASCII de la letra partido del entero, previamente introducidos. 4) Muestra la cadena de caracteres letra por letra con ayuda de aritmética de punteros. 5) Diseña una función que devuelva el nº de veces que se repite una letra determinada en la cadena de caracteres introducida anteriormente. 6) Calcular la media aritmética del vector de enteros ayudándote del puntero auxiliar que apuntará a cada una de sus posiciones.

Ejercicio 2. Punteros a estructuras
Mediante una estructura definir un producto, sabiendo que tiene un nombre, un precio, un proveedor y un código de barras. Declarar un registro producto e inicializarlo y un puntero a dicho producto. Realizar un programa en el que un usuario teclee la cantidad de unidades que desea comprar de un producto previamente declarado y que calcule el importe total a través del puntero al registro.

Ejercicio 3. Rotación
Crear una función que reciba un puntero a un array, su tamaño y un número que permita desplazar el array hacia la derecha el número de posiciones que indique el número, de modo que los números de la derecha aparezcan por la izquierda

Ejercicio 4. Estadísticas de un array
Crear un programa que utilice una función que devuelva el mayor (por referencia), el menor (por referencia) y la media (por valor) de los valores de un array de números decimales.

Ejercicio 5. Estadísticas de un array (2)
Modificar el programa anterior para que la función devuelva punteros al mayor y el menor valor del array

Ejercicio 6. Array de punteros
Crear un array de 50 números aleatorios y después un array de 50 punteros donde cada uno apunte a los números anteriores

Clases
Ejercicio 1.
Diseña una clase cuadrado con el atributo privado ‘lado’ y con los siguientes métodos propuestos y haz uso de ella en un programa en el cual se pida por teclado el lado de un cuadrado y se cree un objeto de dicho tipo con la dimensión especificada. Cuadrado: Atributos: Lado Métodos: Cuadrado() float area() void mostrar() int getLado() void setLado(int) *Nota: En el método mostrar, el cuadrado se dibujará con el carácter ´*´ y relleno.

Ejercicio 2.
Diseñar la clase rectángulo, sabiendo que éste se define por cuatro lados iguales dos a dos. Hacer uso de todos los métodos en un programa para comprobar su funcionamiento. Utilizar un puntero a rectángulo para probar el método mostrar y perímetro. Rectangulo: Métodos: Rectangulo() float area() void mostrar(char) int getLado1() int getLado2() void setLados(int,int) int perimetro() *Nota: En el método mostrar, el rectángulo se dibujará con el carácter pasado por parámetro y hueco.

Ejercicio 3.
Diseñar la clase Circulo, sabiendo que éste se define únicamente por el radio. Hacer uso de la clase definiendo un array de N circulos pedidos desde teclado. Por cada uno de ellos se mostrará el resultado devuelto por cada uno de los métodos de la clase. Rectangulo: Métodos: Circulo(int) float area() int getRadio() int getDiametro() float longitudCirc() *Nota: 1) Mostrar un circulo requiere operaciones matemáticas demasiado complejas y por tanto no es necesario saberlo. 2) La longitud de una circunferencia es igual al valor de su diámetro multiplicado por PI. 3) El área de un circulo es igual al valor de su radio elevado al cuadrado multiplicado por PI.

Ejercicio 4.
Diseñar la clase Linea, sabiendo que éste se define por su longitud y teniendo en cuenta que pueden ser horizontales o verticales. Crear un programa principal que cargue 4 lineas, 2 horizontales y 2 verticales. Mostrar sus datos dibujarlas en pantalla mediante un array de punteros a dichas lineas. Linea: Atributos: int longitud bool tipo Métodos: Linea() Linea(int) float area() void mostrar(char) int getLongitud() int getTipo() *Nota: Mostrar una linea vertical es distinta a mostrarla en horizontal por lo que al mostrarse se habrá de tener en cuenta de que tipo de linea se trata para dibujarla de la forma correspondiente.

Ejercicio 5.
Diseñar la clase Triangulo que queda definida mediante el cateto opuesto y el contiguo del triángulo. Implementar y probar los siguientes métodos utilizando un array de 10 triangulos cuyos catetos son cargados de manera aleatoria entre 3 y 10. Triangulo: Atributos: int cateto1 int cateto2 Métodos: Triangulo() Triangulo(int,int) float hipotenusa() int getCateto1() int getCateto2() void setCatetos(int,int) float area() void mostrar() *Nota: 1) Para el cálculo de la hipotenusa se ha de utilizar la ecuación: h = a 2 + b 2 2) Cualquier triángulo se mostrará con el carácter `o` y solo se mostrará si los catetos son idénticos. En caso de que sean distintos se convertiría en un problema matemático complejo y no es necesario saber hacerlo, por ello se mostrará en su lugar un mensaje de “No se puede mostrar triangulo” y luego se mostrarán sus datos, incluyendo hipotenusa.

Ejercicio 6.
Modificar la clase Linea para que permita, además de guardar y dibujar lineas horizontales y verticales, también lo haga con lineas diagonales hacia dcha y hacia izqda.

Ejercicio 7.
Incorporar un método mostrarInvertido() a la clase Triangulo que dibuje dicho triangulo rectangulo y con catetos idénticos (no mostrar para distintos) de manera invertida.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->