You are on page 1of 10

Ejercicios resueltos en C++

www.politecnia.net/publicaciones/ver/53/Ejercicios-resueltos-en-C.html
Dev-C ++ es un entorno con todas las funciones de desarrollo integrado (IDE) para el lenguaje de programacin C C / ++.
Se utiliza el puerto Mingw de GCC (GNU Compiler Collection), ya que es compilador.
Dev-C ++ tambin se puede utilizar en combinacin con Cygwin o cualquier otro compilador basado en GCC. (Descargar)

Ejemplo #1
Este primer ejemplo consiste en aprender como se declaran las funciones, como se utilizan, ademas veremos libreras importantes para
acentuar palabras o como las "" en lenguaje espaol. El #include <windows.h> y using namespace std; pone a su disposicin los objetos
cout y cin, el #include <locale.h> para utilizar los acentos.
#include <iostream>/*Librera, in out stream que se usa para las lineas cout y cin*/
#include <windows.h>/*Librera especfico de Windows que contiene las funciones Windows API*/
#include <locale.h>/*Librera para establecer la configuracin regional actual*/
using namespace std;
int suma(int, int);/*Se declara la funcin suma*/
/*Todo lo que est en el main se va a ejecutar*/
int main(){
setlocale(LC_CTYPE, "Spanish");
/*Para poder utilizar los acentos*/
int num1, num2;
/*Se declara los campos que digitar el usuario*/
cout<<"Escriba el primer nmero: ";
cin>> num1;
cout<<"Escriba el segundo nmero: ";
cin>> num2;
cout<<"La suma es: "<< suma(num1, num2)<<"\n";
/*Llama a la funcin y enva los 2 nmeros*/
system("pause");
/*Congela el resultado para que puedas verlo*/
}
/*Funcin suma que recibe los dos nmeros y retorna el total de la suma*/
int suma(int a, int b){
int c;/*Declaro "c" privada para la funcin*/
c = a + b;
return c;
}

Ejemplo #2
El promedio de N notas, utiliza funciones, do while, arreglos
#include <iostream>
#include <windows.h>
using namespace std;
/*Declaras la funcin al mismo tiempo calcula el promedio*/
/*Si quieres cambiar de posicin por ejemplo ubicarla abajo*/
/*no lo podras hacer y te dara un error, ya que las funciones*/
/*se declaran antes del main*/
float promedio(int valores[], int cantidad) {
int i;
float suma = 0.0;
/*El ciclo for cuenta el nmero de notas que desea promediar*/
for (i = 0; i < cantidad; ++i)
suma += valores[i];
/*Suma las notas ingresadas*/
return suma / (float) cantidad;
/*La suma total de notas entre la cantidad de notas*/
}
int main() {
/*Se declaran las variables y se establece un espacio*/
int notas[10];
char nombre[20];
char opcion[3];
int n, i;
/*Se inicia la sentencia do while*/
do{
/*Se piden los datos para que ingrese el usuario*/
cout<<"Escriba el nombre del alumno: ";
cin>> nombre;
cout<<"Cuantas notas tiene "<<nombre<<"? ";
cin>> n;
/*ciclo for te pide en pantalla las notas, segn la cantidad que ingresastes*/
for (i = 0; i < n; ++i) {
cout<<" Nota "<< i + 1<<": ";
cin>> notas[i];
}
/*Llamas a la funcin promedio y le das los parmetros y te muestra el resultado*/
cout<<"El promedio de "<<nombre<<" es: "<< promedio(notas, n)<<"\n";
/*Te pide si deseas seguir calculando promedios que este dato lo almacena opcion*/
cout<<"Desea calcular mas promedios (si/no)? ";
cin>> opcion;
}
/*While es el ciclo que si el usuario ingres s o S el ciclo iniciar una vez ms*/
/*si el usuario elige No el ciclo se detendra*/
while (opcion[0] == 's' || opcion[0] == 'S');
return 0;
}

Ejemplo #3
Calcular el factorial de un nmero entero positivo (n!). El factorial de 5, 5! = 5 x 4 x 3 x 2 x 1 osea: 5! = 120
#include <iostream>
#include <windows.h>
using namespace std;
int main(void){
/*Declaro las variables*/
int i=0, fact=1, n=0;
cout<<"Escriba el numero para calcular el Factorial: ";
cin>> n;
for (i=1;i<=n;++i){
/*Un for que multiplica el factorial de un nmero*/
fact=fact*i;
}
cout<<"El Factorial de "<<n <<" es "<<fact<<"\n";
/*Muestra el resultado en pantalla*/
system("pause");
}

Ejercicio #4
Desarrolle una estructura que guarde los datos de "N" alumnos de la materia de Estructuras de Datos, y los muestres por pantalla, la
estructura debe tener (cedula, nombre, apellido, edad, profesin, lugar de nacimiento, direccin y telfono).
#include <iostream>
#include <windows.h>
#define max 100 /*Constante*/
using namespace std;
int main(void){
/*Declara las variables para los ciclo for*/
int i = 0, n = 0;
/*Declara estructura persona*/
struct persona{
char cedula[14];
char nombre[15];
char apellido[15];
int edad;
char profesion[20];
char lugar[50];
char direccion[50];
int telefono;
};
struct persona alumno[max];
/*Declara alumno, arreglo de la estructura persona*/
cout<<"Cuantos datos desea introducir?/n";
/*Se pide cuantos registros de alumnos se guardaran*/
cin>> n;
for (i = 0; i < n; i++){
/*Ciclo for que va a recorrer segn la cantidad escrita anteriormente*/
cout<<"\nEscriba la Cedula "<< i+1<<":";
cin>> alumno[i].cedula;
cout<<"\nEscriba el Nombre "<< i+1<<":";
cin>> alumno[i].nombre;
cout<<"\nEscriba el Apellido "<< i+1<<":";
cin>> alumno[i].apellido;
cout<<"\nEscriba la Edad de "<< i+1<<":";
cin>> alumno[i].edad;
cout<<"\nEscriba la Profesion de "<< i+1<<":";
cin>> alumno[i].profesion;
cout<<"\nEscriba el Lugar de Nacimiento de "<< i+1<<":";
cin>> alumno[i].lugar;
cout<<"\nEscriba la Direccion de "<< i+1<<":";
cin>> alumno[i].direccion;
cout<<"\nEscriba el Telefono de "<< i+1<<":";
cin>> alumno[i].telefono;
}
cout<<"/nEl registro de Alumnos que se introdujeron son: \n\n";
/*Ciclo for que muestra el listado de registro ingresados*/
for (i = 0; i < n; i++){
cout<< alumno[i].cedula;
/*Se llama al arreglo alumno seguido de la variable cedula*/
cout<<"\t"<<alumno[i].nombre;
cout<<"\t"<<alumno[i].apellido;
cout<<"\t"<<alumno[i].edad;
cout<<"\t"<<alumno[i].profesion;
cout<<"\t"<<alumno[i].lugar;
cout<<"\t"<<alumno[i].direccion;
cout<<"\t"<<alumno[i].telefono<<"\n\n";
}
system("pause");
}

Ejercicio #5
Escriba un programa que en una estructura guarde los datos de 5 amigos (as) suyos (as) y los muestre en pantalla, utilizando para ello un
arreglo de estructura, la misma estructura contendr (Nombre, Apellido, Edad, Sexo, Direccin, y Telfono).
#include <iostream>
#include <windows.h>
#define max 100 /*Constante*/
using namespace std;
int main(void){
/*Declara las variables para los ciclo for*/
int i = 0;
struct persona{
/*Declara estructura persona*/
char nombre[15];
char apellido[15];
int edad;
char sexo;
char direccion[50];
int telefono;
};
/*Declara alumno, arreglo de la estructura persona*/
struct persona amigo[max];
/*Ciclo for que va a recorrer 5 veces*/
for (i = 0; i < 5; i++){
cout<<"\nEscriba el Nombre "<< i+1<<":";
cin>> amigo[i].nombre;
cout<<"\nEscriba el Apellido "<< i+1<<":";
cin>> amigo[i].apellido;
cout<<"\nEscriba la Edad de "<< i+1<<":";
cin>> amigo[i].edad;
cout<<"\nEscriba el sexo "<< i+1<<":";
cin>> amigo[i].sexo;
cout<<"\nEscriba la Direccion de "<< i+1<<":";
cin>> amigo[i].direccion;
cout<<"\nEscriba el Telefono de "<< i+1<<":";
cin>> amigo[i].telefono;
}
cout<<"/nEl registro de Alumnos que se introdujeron son: \n\n";
/*Ciclo for que muestra el listado de 5 registro ingresados*/
for (i = 0; i < 5; i++){
/*Se llama al arreglo amigo seguido de la variable*/
cout<<"\t"<<amigo[i].nombre;
cout<<"\t"<<amigo[i].apellido;
cout<<"\t"<<amigo[i].edad;
cout<<"\t"<<amigo[i].sexo;
cout<<"\t"<<amigo[i].direccion;
cout<<"\t"<<amigo[i].telefono<<"\n\n";
}
system("pause");
}

Ejercicio:
Construir un programa que permita leer nmeros hasta que se digite 0 y determinar a cunto es igual el promedio de los nmeros ledos.
#include <iostream>
using namespace std;
int suma = 0; // variable acumuladora
int cuenta = 0; // variable contadora
int numero = 0; // guarda el numero ingresado por el usuario
int promedio; // guarda el promedio
int main()
{
cout << "Entre el numero: "; // un numero
cin >> numero; // lee un numero
while (numero != 0) // cuando sea verdadera entra al ciclo
{
suma = suma + numero; // suma los numeros ingresados
cuenta = cuenta + 1; // cuanta cuantos numeros se ingresan antes del 0
cout << "Entre el numero: ";
cin >> numero; // se lee al final porque puede ser el centinela
}
promedio = suma / cuenta;
cout << "la sumatoria es: " << suma << endl;
cout << "La cantidad de datos es: " << cuenta << endl;
cout << "El promedio es: " << promedio << endl;
system ("PAUSE");
return 0;
}

ejercicio
Elaborar un Programa en Dev c++ para encontrar el mayor de un grupo de datos ingresado por el usuario

#include<iostream>
using namespace std;
int main()
{
//Definicion de variables
int n,contador=1; // Se inicia contador en 1 porque el primer numero se debe leer por fuera del ciclo
float x,mayor;
cout << "Cuantos numeros desea ingresar para encontrar el maximo: ";
cin >> n;
// Se pide el primer nmero y este se coloca como el mayor
cout << "Numero 1: ";
cin >> x; // Se pide el primer numero
mayor = x; // Se considera el mayor
while(contador < n) // Aqu se piden los otros y se comparan con el mayor
{
contador = contador + 1;
cout << "Numero " << contador << ": "; // mensaje para pedir el resto de numeros
cin >> x;
if(x > mayor) // Se compara con el mayor
{
mayor = x;
}
}
cout << "El mayor es " << mayor; // Aqu llega cuando contador no es menor a n
cout<<"\n";
system ("PAUSE");
return(0);
}

Ejercicio: elabore un programa que lea un vector ordenado e ingrese un nuevo elemento y que el vector siga ordenado, imprima el vector.
#include <cstdlib>
#include <iostream>
using namespace std;
int cantidad, i, j, k, l;
float valor;
float vector[50];
int main(int argc, char *argv[])
{
cout << "Entre el numero de elementos del vector, maximo 50: ";
cin >> cantidad;
cout << "\n";
cout << "Recuerde que debe entrar los datos del vector ordenados ascendentemente: ";
cout << "\n";
for ( i=0; i<cantidad; i++)
{
cout << "Entre el dato para la posicion " << i << " : ";
cin >> vector[i];
}
cout << "\n";
cout << "Entre el dato a insertar en el vector ordenado: ";
cin >> valor;
cout << "\n";
if (vector[cantidad-1] < valor ) // Si es el mayor de todos
{
vector[cantidad] = valor; // Queda en la ultima posicin
cantidad = cantidad + 1;
}
else { // Si est dentro de los datos ordenados
j = 0;
while (j < cantidad)
{
if ( valor < vector[j])
{ // Encontr el puesto del elemento, es el j
for (k=cantidad; k>j; k--) { // Mueve de atrs hacia adelante hasta el puesto encontrado j
vector[k] = vector[k-1];
}
vector[j] = valor; // Coloca el nuevo elemento en su puesto j
cantidad = cantidad + 1; // Ahora el arreglo tiene un elemento mas
j = j + cantidad; // Para salir del ciclo while
}
else
// No encontr uno mayor, sigue buscando
j = j + 1;
} // Se cierra el while
} // Se cierra el else
cout << "\nEl nuevo vector ordenado es: ";
for (l=0; l<cantidad; l++) {
cout << "\nEn la posicion " << l << " : " << "["<<vector[l]<<"]";
}
cout << "\n";
system("PAUSE");
return EXIT_SUCCESS;
}

You might also like