Ejercicios de C++ para práctica y aprendizaje

  • Autor Autor alexuploader
  • Fecha de inicio Fecha de inicio
A

alexuploader

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Ejercicios de C++

Son Ejercicios en C++, para que te puedas pulir y ir practicando cada vez mas. comenta y publica las soluciones de cada uno de estos ejercicios con su respectiva captura de Run.

se agregara cada vez mas ejercicios. demuestra que eres el mejor......

Ejercicios 1

1. Escriba un programa que asigne dinámicamente un arreglo lo
suficientemente grande para almacenar un numero de puntuaciones
definida por el usuario. Una vez todas las puntuaciones hayan sido

introducidas, el arreglo debe ser pasado a una función que ordene dicho
arreglo de forma ascendente. Otra función deberá ser llamada para
calcular la puntuación promedio. El programa deberá desplegar las
puntuaciones ordenadas y finalmente la puntuación promedio.

Los siguientes prototipos son sugeridos para la realización del programa:

double *creaArreglo(int); // Asigna memoria para un arreglo
void leePuntuaciones(double *, int); // Lee el arreglo
void ordena(double *, int); // Ordena el arreglo ascendentemente (usar
algoritmo)
double calculaPromedio(double *, int); // Calcula el promedio del
arreglo

// Funcion para ordenar un arreglo por el metodo de la burbuja
// La funcion recibe un puntero el cual sera tratado como arreglo
void ordena(double *arreglo, int size)
{
bool swap;
int temp;

do
{
swap = false;
for (int indice = 0; indice < (size - 1); indice++)
{
if (arreglo[indice] > arreglo[indice + 1])
{
temp = arreglo[indice];
arreglo[indice] = arreglo[indice + 1];
arreglo[indice + 1] = temp;
swap = true;
}
}
} while (swap);
}

___________________________________________________________________________

Ejercicios 2

2. Crear una función que pueda redimensionar un arreglo. La función debe
aceptar como argumento:
a. Un arreglo de enteros int (nombre del arreglo y tamaño)
b. Un entero que será el nuevo tamaño del arreglo

El objetivo de la función es crear un nuevo arreglo en el cual copiará los
elementos del arreglo recibido y retornar un puntero con la dirección del
nuevo arreglo. Debe tomar en cuenta que si el arreglo es expandido debe
llenar las posiciones sobrantes con cero y por el contrario, si el arreglo es

encogido solamente se copiaran los elementos o valores que quepan en el
nuevo arreglo.

__________________________________________________________________

Ejercicios 3

3. En estadística la moda de un conjunto de valores es el valor que más
frecuentemente ocurre o aparece en dicho conjunto, es decir, es el valor
de mayor frecuencia. Escriba una función que acepte los siguientes
argumentos:

a) Un arreglo de enteros
b) Un entero que indique la cantidad de elementos que tiene el arreglo

La función debe determinar la moda del arreglo. Esto es, debe determinar
cual valor en el arreglo es el más frecuente. La moda es el valor que la
función debe retornar. Si el arreglo no tiene moda (ninguno de los valores
ocurre más de una vez), la función debe retornar -1. (Asuma que el
arreglo debe contener siempre valores positivos.)

Demuestre su habilidad utilizando punteros utilizando notación de
punteros (asterisco) para trabajar con el arreglo en lugar de utilizar
notación de arreglo (corchetes)

_______________________________________________________________

Ejercicios 4

4. Escriba una función que acepte un arreglo de enteros y la cantidad de
elementos de dicho arreglo. La función debe crear una copia del arreglo,
excepto que los valores de los elementos deben estar reversados en dicha
copia. La función debe retornar un puntero que apunte al nuevo arreglo,
debe demostrar el uso de la función en un programa completo.


_____________________________________
Ejercicios 5

Crear un programa calculadora (calc.cpp) que vía argumentos de línea de
comando reciba tres parámetros que le indiquen realizar una de las
siguientes operaciones: suma, resta, multiplicación, división, residuo y
potencia. A continuación como debe ser ejecutado el programa y la tabla
de símbolos a utilizar como operadores:

C:\> calc 4 + 8 [enter]
C:\> 12


Operador Descripción
+ Suma
- Resta
X Multiplicación
/ División
% Residuo
^ Potencia

Nota: como podrá ver no se utilizo el caracter asterisco para la realización
de la multiplicación, esto es por que como estos argumentos son pasados
a nivel de línea de comando, para el sistema operativo el caracter
asterisco es un caracter comodín que significa ‘todo’ entonces lo que
sucedería si hacemos: calc 4 * 8 es que el asterisco sería sustituido por
todos los archivos que se encuentren en ese directorio y en lugar de tres
argumentos tendríamos un listado de argumentos no deseados. Es de
igual importancia que considere que la equis puede encontrarse en
mayúscula o minúscula.

El programa debe validar la recepción de la cantidad correcta de
parámetros así como también el caracter especificado como operador.

Escriba una función para validar los argumentos pasados a la función
main() y de estar todo bien debe retornar una estructura con el contenido
de la operación en el formato adecuado.

___________________________________________________________________

Ejercicios 6

El juego “Piedra, Papel o Tijera” consiste en dos apuestas simultáneas con
dos participantes donde cada uno debe escoger entre una de esas tres
opciones. Formas de ganar:

Piedra le gana a Tijera
Tijera le gana a Papel
Papel le gana a Piedra

Escriba una función que retorne de forma aleatoria (utilizando la función
rand() y srand()) una de las opciones mencionadas anteriormente, es
decir, que el computador escoja su propia opción para participar en el
juego después de que el usuario haya seleccionado la suya.

Diseñe un programa que haga uso de esta función. El programa debe
iniciar en un ciclo do-while, presentarle al usuario el siguiente menú
(hacer una función que se encargue únicamente de desplegar el menú).


P – Piedra
A – Papel
T – Tijera
S – Salir

Opción: _

El programa debe aceptar cualquiera de las cuatro opciones sin importar
que hayan sido introducidas en mayúsculas o minúsculas y debe validar
que no se introduzca un caracter distinto a los permitidos. El ciclo se
seguirá ejecutando indefinidamente mientras la opción entrada sea
distinta de ‘S’ o ‘s’. Cada vez que se introduzca una opción para participar
en el juego, el programa debe utilizar la función que retorna la opción
generada por el computador y luego hacer la comparación que
determinará el resultado del juego.

Escriba una función que reciba la opción entrada por el usuario y la opción
generada por el computador para comparar ambas selecciones, la función
debe retornar el resultado en forma de string. El programa debe imprimir
el resultado y volver a presentar el menú.

A continuación algunas anotaciones y prototipos sugeridos para el
programa. Puede declarar constantes globales para manejar de una
manera más informativa el uso de las opciones:


const char PIEDRA = ‘P’;
const char PAPEL = ‘A’;
const char TIJERA = ‘T’;

Prototipos:

void displayMenu(); // Despliega el menú del juego

char getComputerOption(); // Retorna de forma aleatoria ‘P’, ‘A’ o ‘T’

string checkOptions(char, char);
// Retorna ‚Gano! 🙂‛, ‚Perdio 🙁‚ o ‚Empate :|‛

bool inputOK(char); // Retorna true si la opción entrada es valida
 
Última edición:
Lo habría resuelto si hubieras puesto un título más motivante (más o menos así): "A qué no tienes huevos a resolver estos ejercicios de C++ ?! "

Ahora en serio: de verdad crees que alguien te va a solucionar tus deberes del instituto o la universidad? Entras dentro del grupo de los vagos que lo quiere todo masticado, no?
 
Por qué no pones en el titulo directamente " Eres capaz de resolverme los deberes?"?
 
YA le puse tu titulo deja la escusa y a programar
 
mejor paga nadie te los va resolver gratis
 
Estos millenials... En lugar de usar el Internet para aprender por su cuenta lo usan para copiar y pegar lo que sea. Quieren todo peladito y a la boca :topsy_turvy:
 
Estos millenials... En lugar de usar el Internet para aprender por su cuenta lo usan para copiar y pegar lo que sea. Quieren todo peladito y a la boca :topsy_turvy:

EL
Registro :18-septiembre-2010

TU
Registro
25-diciembre-2014

creo que no es de este milenio si no del anterior
 
EL
Registro :18-septiembre-2010

TU
Registro
25-diciembre-2014

creo que no es de este milenio si no del anterior

te trabo jaja :loyal::loyal:

- - - Actualizado - - -

Estan EZ los ejercicios :fatigue:
 
Vaya... qué buenos tiempos aquellos resolviendo ejercicios en C++ jaja.
Pero como dicen, no es que querramos hacerlos ahora.

Lo bueno es que entrando pude ver la firma de [MENTION=125756]FanDub[/MENTION] 😱
 
EL
Registro :18-septiembre-2010

TU
Registro
25-diciembre-2014

creo que no es de este milenio si no del anterior

:topsy_turvy::topsy_turvy: ¿Qué tiene que ver la fecha de registro del foro con la generación de su nacimiento?... Supongo que si saben que es un Millenial, generación X, Y...
 
Sabias que en la vida real nunca usaras esas funciones, ademas existen librerias para hacer eso que pides con los arrays, solo un novato intentaria crear una funcion que ya existe
 
Mas evidente no puede ser, te falta mas creatividad!
 
Señores están dañando un buen post, de ejercicios en C++. a mi se me ocurrió hacer este mega post de ejercicios a solucionar por los mismo usuario. para que entre todo hagamos nuestro pequeños aporte. a persona que busca de esto ejercicios y aprenda como se hacen. pronto haré otros de C#, java, Python, entre otro lenguajes mientras voy agregando cada vez mas ejercicios.

- - - Actualizado - - -

:topsy_turvy::topsy_turvy: ¿Qué tiene que ver la fecha de registro del foro con la generación de su nacimiento?... Supongo que si saben que es un Millenial, generación X, Y...



Viejos tiempo cuando andaba de uploader y webcranking 😛8:
 
Última edición:
Atrás
Arriba