Você está na página 1de 76

/*4.

Crear una cadena que tenga la siguiente frase "Hola que tal", luego crear otra

cadena para preguntarle al usuario su nombre, por ultimo añadir el nombre al final de

la primera cadena y mostrar el mensaje completo "Hola que tal (NombreDelUsuario)".*/

#include<iostream>

#include<conio.h>

#include<string.h>

using namespace std;

int main(){

char cad1[] = "Hola que tal ";

char cad2[20];

cout<<"Digite su nombre: ";

cin.getline(cad2,20,'\n');

strcat(cad1,cad2);

cout<<"Frase: "<<cad1<<endl;

getch();

return 0;

}
/*Ejercicio 10: Escriba una función nombrada calc_años() que tenga un parámetro entero

que represente el número total de días desde la fecha 1/1/2000 y parámetros de referencia

nombrados año, mes y día. La función es calcular el año, mes y día actual para el

número dado de días que se le transmitan. Usando las referencias, la función deberá

alterar en forma directa los argumentos respectivos en la función que llama. Para este

problema suponga que cada año tiene 365 días y cada mes tiene 30 días.*/

#include<iostream>

#include<conio.h>

using namespace std;

void calc_anios(int,int&,int&,int&);

int main(){

int totalDias,anio,mes,dia;

cout<<"Digite el numero total de dias transcurridos: ";

cin>>totalDias;

calc_anios(totalDias,anio,mes,dia);

cout<<"Fecha Actual: "<<dia+1<<"/"<<mes+1<<"/"<<anio+2000<<endl;

getch();

return 0;

}
/*2. Pedir al usuario una cadena de caracteres, almacenarla en un arreglo y copiar todo

su contenido hacia otro arreglo de caracteres.*/

#include<iostream>

#include<conio.h>

#include<string.h>

using namespace std;

int main(){

char frase[20],frase2[20];

cout<<"Digite una cadena de caracteres: ";

cin.getline(frase,20,'\n');

strcpy(frase2,frase);

cout<<"Frase: "<<frase2<<endl;

getch();

return 0;

}
//5. Hacer un programa que determine si una palabra es políndroma

#include<iostream>

#include<conio.h>

#include<string.h>

using namespace std;

int main(){

char palabra[20];

char palabra2[20];

cout<<"Digite una palabra: ";

cin.getline(palabra,20,'\n');

strcpy(palabra2,palabra);

strrev(palabra2);

if(strcmp(palabra,palabra2)==0){

cout<<"Es una palabra polindroma";

else{

cout<<"No es una palabra polindroma";

getch();

return 0;

}
/*2. Escriba un programa que lea tres números y determine cuál de ellos es

el mayor.*/

#include<iostream>

using namespace std;

int main(){

int n1,n2,n3;

cout<<"Digite 3 numeros: ";

cin>>n1>>n2>>n3;

if((n1>n2)&&(n1>n3)){

cout<<"El mayor es: "<<n1;

else if((n2>n1)&&(n2>n3)){

cout<<"El mayor es: "<<n2;

else{

cout<<"El mayor es: "<<n3;

return 0;

}
/*6. Escriba un programa que calcule x^y, donde tanto x como y son enteros

positivos, sin utilizar la función pow.*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int x,y,elevacion=1;

cout<<"Digite el valor de x: ";cin>>x;

cout<<"Digite el valor de y: ";cin>>y;

for(int i=1;i<=y;i++){

elevacion *= x;

cout<<"\nEl resultado de la elevacion es: "<<elevacion;

getch();

return 0;

}
/*3. Realizar un programa que lea un arreglo de estructuras los datos de N empleados

de la empresa y que imprima los datos del empleado con mayor y menor salario. */

#include<iostream>

#include<conio.h>

using namespace std;

struct Empleado{

char nombre[20];

float salario;

}e[100];

int main(){

int n_empleados,mayor=0,menor=999999,posM,posm;

cout<<"Digite el numero de empleados: "; cin>>n_empleados;

for(int i=0;i<n_empleados;i++){

fflush(stdin); //Vacias el buffer y poder digitar mas valores

cout<<"Nombre: "; cin.getline(e[i].nombre,20,'\n');

cout<<"Salario: "; cin>>e[i].salario;

//Empleado con mayor salario

if(e[i].salario > mayor){

mayor = e[i].salario;

posM = i;

//Empleado con menor salario

if(e[i].salario < menor){

menor = e[i].salario;
posm = i;

cout<<"\n";

cout<<"\nEmpleado con mayor salario: "<<endl;

cout<<"Nombre: "<<e[posM].nombre<<endl;

cout<<"Salario: "<<e[posM].salario<<endl;

cout<<"\nEmpleado con menor salario: "<<endl;

cout<<"Nombre: "<<e[posm].nombre<<endl;

cout<<"Salario: "<<e[posm].salario<<endl;

getch();

return 0;

/*Ejercicio 1: Realice un programa que pida al usuario el nombre de un fichero

de texto y, a continuación permita almacenar al usuario tantas frases como el

usuario desee.*/

#include<iostream>

#include<stdlib.h>
#include<fstream>

using namespace std;

void escribirFrases();

int main(){

escribirFrases();

system("pause");

return 0;

void escribirFrases(){

ofstream archivo;

string nombreArchivo,frase;

char rpt;

cout<<"Digite el nombre del archivo: ";

getline(cin,nombreArchivo);

archivo.open(nombreArchivo.c_str(),ios::out); //Creamos el
archivo

if(archivo.fail()){ //Si a ocurrido algun error

cout<<"No se pudo abrir el archivo";

exit(1);

do{

fflush(stdin);

cout<<"Digite una frase: ";


getline(cin,frase);

archivo<<frase<<endl;

cout<<"\nDesea agregar otra frase(S/N): ";

cin>>rpt;

}while((rpt == 'S') || (rpt == 's'));

archivo.close(); //Cerramos el archivo

/*5. Escriba un fragmento de programa que intercambie los valores de dos

variables.*/

#include<iostream>

using namespace std;

int main(){

int x,y, aux;

cout<<"Digite el valor de x: "; cin>>x;

cout<<"Digite el valor de y: "; cin>>y;

aux = x;

x = y;

y = aux;
cout<<"\nEl nuevo valor de x es: "<<x<<endl;

cout<<"El nuevo valor de y es: "<<y<<endl;

return 0;

/*7. Desarrollar un programa que determine si una matriz es simétrica o no.


Una matriz

es simétrica si es cuadrada y si es igual a su matriz transpuesta.

|8 1 3| |8 1 3|

|1 7 4| --> |1 7 4|

|3 4 9| |3 4 9|

*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int numeros[100][100],filas,columnas;
char band='F';

cout<<"Digite el numero de filas: "; cin>>filas;

cout<<"Digite el numero de columnas: "; cin>>columnas;

//Rellenando matriz

for(int i=0;i<filas;i++){

for(int j=0;j<columnas;j++){

cout<<"Digite un numero ["<<i<<"]["<<j<<"]: ";

cin>>numeros[i][j];

//Comprobemos si es simetrica

if(filas==columnas){

for(int i=0;i<filas;i++){

for(int j=0;j<columnas;j++){

if(numeros[i][j] == numeros[j][i]){

band='V';

if(band=='V'){

cout<<"\nEs una matriz simetrica";

else{

cout<<"\nNo es una matriz simetrica";

}
getch();

return 0;

/*1. Escriba un programa que lea dos números y determine cuál de ellos es

el mayor.*/

#include<iostream>

using namespace std;

int main(){

int n1,n2;

cout<<"Digite 2 numeros: ";

cin>>n1>>n2; //guarando los 2 numeros

if(n1==n2){

cout<<"Ambos numeros son iguales";

else if(n1>n2){

cout<<"El mayor es: "<<n1;

else{

cout<<"El mayor es: "<<n2;


}

return 0;

/*3. Escribe un programa que lea de la entrada estándar un vector de números y

muestre en la salida estándar los números del vector con sus índices asociados.*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int numeros[100],n;

cout<<"Digite el numero de elementos: ";

cin>>n;

for(int i=0;i<n;i++){

cout<<"Digite un numero: ";

cin>>numeros[i]; //Guardamos los numeros en el


arreglo

//Ahora, vamos a mostrar los numeros con sus indices


asociados

for(int i=0;i<n;i++){
cout<<i<<" -> "<<numeros[i]<<endl; //Mostrando los
numeros

getch();

return 0;

/*Ejercicio 1: Escriba una función llamada mult() que acepte dos números en punto

flotante como parámetros, multiplique estos dos números y despliegue el resultado.*/

#include<iostream>

#include<conio.h>

using namespace std;

//Prototipo de Funcion

void mult(float x,float y);

void pedirDatos();

float n1,n2;

int main(){

pedirDatos();

mult(n1,n2);

getch();
return 0;

void pedirDatos(){

cout<<"Digite 2 numeros: ";

cin>>n1>>n2;

void mult(float x,float y){

float multiplicacion = x * y;

cout<<"La multiplicacion es: "<<multiplicacion<<endl;

/4. Comprobar si un número digitado por el usuario es positivo o


negativo.

#include<iostream>

using namespace std;

int main(){

int numero;

cout<<"Digite un numero: ";

cin>>numero;
if(numero==0){

cout<<"El numero es cero";

else if(numero>0){

cout<<"El numero es positivo";

else{

cout<<"El numero es negativo";

return 0;

/*9. Cambiar un número entero con el mismo valor pero en romanos.

M = 1000

D = 500

C = 100

L = 50

X = 10

V=5

I=1

*/
#include<iostream>

using namespace std;

int main(){

int numero,unidades,decenas,centenas,millar;

cout<<"Digite un numero: ";

cin>>numero;

//2152

unidades = numero%10; numero /= 10; //unidades = 2 , numero = 215

decenas = numero%10; numero /= 10; //decenas = 5 , numero = 21

centenas = numero % 10; numero /= 10; //centenas = 1 , numero = 2

millar = numero % 10 ; numero /= 10; //millar = 2 , numero = 0

//2000+100+50+2 = 2152

switch(millar){

case 1: cout<<"M";break;

case 2: cout<<"MM"; break;

case 3: cout<<"MMM";break;

switch(centenas){

case 1: cout<<"C";break;

case 2: cout<<"CC";break;

case 3: cout<<"CCC";break;

case 4: cout<<"CD";break;

case 5: cout<<"D";break;

case 6: cout<<"DC";break;

case 7: cout<<"DCC";break;
case 8: cout<<"DCCC";break;

case 9: cout<<"CM";break;

switch(decenas){

case 1: cout<<"X";break;

case 2: cout<<"XX";break;

case 3: cout<<"XXX";break;

case 4: cout<<"XL";break;

case 5: cout<<"L";break;

case 6: cout<<"LX";break;

case 7: cout<<"LXX";break;

case 8: cout<<"LXXX";break;

case 9: cout<<"XC";break;

switch(unidades){

case 1: cout<<"I";break;

case 2: cout<<"II";break;

case 3: cout<<"III";break;

case 4: cout<<"IV";break;

case 5: cout<<"V";break;

case 6: cout<<"VI";break;

case 7: cout<<"VII";break;

case 8: cout<<"VIII";break;

case 9: cout<<"IX";break;

return 0;

}
/*7.La calificación final de un estudiante es el promedio de tres notas:

la nota de prácticas que cuenta un 30% del total, la nota teórica que cuenta un

60% y la nota de participación que cuenta el 10% restante. Escriba un programa

que lea las tres notas del alumno y escriba su nota final.*/

#include<iostream>

using namespace std;

int main(){

float notapractica, notateorica, notaparticipacion;

int notaFinal;

cout<<"ingrese la nota de practica: ";

cin>>notapractica;

cout<<"Ingrese la nota teoria: ";

cin>>notateorica;

cout<<"Ingrese la nota de participacion: ";

cin>>notaparticipacion;

notapractica= notapractica * 0.30;

notateorica *=0.60;

notaparticipacion *= 0.10;

notaFinal = notaparticipacion + notateorica + notapractica;

cout<<"La nota final es: "<<notaFinal;

return 0;
}

/*6. Escriba un programa que lea las tres notas de un alumno y calcule la

nota final media de dicho alumno*/

#include<iostream>

using namespace std;

int main(){

float nota1, nota2, nota3;

int notaFinalMedia;

cout<<"Ingrese nota1: ";

cin>>nota1;

cout<<"Ingrese nota2: ";

cin>>nota2;

cout<<"Ingrese nota3: ";

cin>>nota3;

notaFinalMedia= (nota1+nota2+nota3)/3;

cout<<"la final media es:"<<notaFinalMedia;


return 0;

/*Ejercicio 11: Realice una función que tome como parámetros un vector de números enteros

y devuelva la suma de sus elementos.*/

#include<iostream>

#include<conio.h>

using namespace std;

void pedirDatos();

int calcularSuma(int vec[],int);

int vec[100],tam;

int main(){

pedirDatos();

cout<<"\nLa suma es: "<<calcularSuma(vec,tam)<<endl;

getch();

return 0;

void pedirDatos(){
cout<<"Digite el numero de elementos del arreglo: ";

cin>>tam;

for(int i=0;i<tam;i++){

cout<<i+1<<". Digite un numero: ";

cin>>vec[i];

int calcularSuma(int vec[],int tam){

int suma=0;

for(int i=0;i<tam;i++){

suma += vec[i];

return suma;

/*Calcule el área de un triángulo cuando se conocen 2 lados y el ángulo que

forman.*/

#include<iostream>

using namespace std;

#include<conio.h>
#include<math.h>

int main()

float A;

int a,b,angulo;

cout<<"Ingrese lado a:";cin>>a;

cout<<"Ingrese lado b:";cin>>b;

cout<<"Ingrese el angulo:";cin>>angulo;

A=(a*b*sin(angulo))/2;

cout<<"El area del triangulo es:"<<A;

getch();

/* Hallar el área y el perímetro de un rectángulo. Considerando las siguientes

fórmulas: área = base x altura, perímetro = 2 x (base + altura).*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()

int b,h;

float area,perimetro;

cout<<"Ingrese la base:";

cin>>b;

cout<<"Ingrese la altura:";
cin>>h;

area=b*h;

perimetro=2*(b+h);

cout<<"El area es:";

cout<<area, " ";

cout<<"\nEl perimetro es:";

cout<<perimetro;

getch();

/*Ejercicio 6: Hacer una función para almacenar N números en un arreglo dinámico,

posteriormente en otra función buscar un número en particular.

NOTA: Puedes utilizar cualquier método de búsqueda(Secuencial o Binaria)*/

#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;

void pedirDatos();

void busqueda(int *,int);

int nElementos, *elemento;

int main(){

pedirDatos();

busqueda(elemento,nElementos);

delete[] elemento; //Liberar memoria utilizada en el arreglo


getch();

return 0;

void pedirDatos(){

cout<<"Digite el numero de elementos del arreglo: ";

cin>>nElementos;

elemento = new int[nElementos]; //Crear el arreglo

for(int i=0;i<nElementos;i++){//Pedir datos al usuario para el


arreglo

cout<<"Digite un numero["<<i<<"]: ";

cin>>*(elemento+i);

void busqueda(int *elemento,int nElementos){

int dato,i;

bool band=false;

cout<<"\nDigite el numero que quiere buscar: ";

cin>>dato;

//Busqueda Secuencial

i=0;

while((band==false)&&(i<nElementos)){

if(*(elemento+i)==dato){ //Verificar si existe el numero


en el arreglo

band = true; //Si lo encuentra bandera cambia


a Verdadero
}

i++;

if(band==false){

cout<<"El numero "<<dato<<" NO ha sido


encontrado"<<endl;

else{

cout<<"El numero "<<dato<<" ha sido encontrado en la


posicion "<<i-1<<endl;

/*Ejercicio 8: Escriba una función nombrada cambio() que tenga un parámetro en


número

entero y seis parámetros de referencia en número entero nombrados cien, cincuenta,

veinte, diez, cinco y uno, respectivamente. La función tiene que considerar el

valor entero transmitido como una cantidad en dólares y convertir el valor en el número

menor de billetes equivalentes. */

#include<iostream>

#include<conio.h>

using namespace std;

void cambio(int,int&,int&,int&,int&,int&,int&);
int main(){

int valor,cien=0,cincuenta=0,veinte=0,diez=0,cinco=0,uno=0;

cout<<"Digite un valor: ";

cin>>valor;

//Llamos a la funcion

cambio(valor,cien,cincuenta,veinte,diez,cinco,uno);

cout<<"Cantidad de billetes a entregar como cambio:"<<endl;

cout<<"Cien: "<<cien<<endl;

cout<<"Cincuenta: "<<cincuenta<<endl;

cout<<"Veinte: "<<veinte<<endl;

cout<<"Diez: "<<diez<<endl;

cout<<"Cinco: "<<cinco<<endl;

cout<<"Uno: "<<uno<<endl;

getch();

return 0;

void cambio(int valor,int& cien,int& cincuenta,int& veinte,int& diez,int& cinco,int& uno){

cien = valor/100;

valor %= 100;

cincuenta = valor/50;

valor %= 50;

veinte = valor/20;

valor %= 20;

diez = valor/10;

valor %= 10;

cinco = valor/5;
uno = valor%5;

/*1. Hacer una estructura llamada corredor, en la cual se tendrán los siguientes

campos: Nombre, edad, sexo, club, pedir datos al usuario para un corredor, y asignarle

una categoría de competición:

- Juvenil <= 18 años

- Señor <= 40 años

- Veterano > 40 años

Posteriormente imprimir todos los datos del corredor, incluida su categoría de

competición.*/

#include<iostream>

#include<conio.h>

#include<string.h>

using namespace std;

struct Corredor{

char nombre[20];

int edad;

char sexo[10];

char club[20];

}c1;

int main(){

char categoria[20];
cout<<"Nombre: "; cin.getline(c1.nombre,20,'\n');

cout<<"Edad: "; cin>>c1.edad;

fflush(stdin);

cout<<"Sexo: "; cin.getline(c1.sexo,10,'\n');

cout<<"Club: "; cin.getline(c1.club,20,'\n');

if(c1.edad <= 18){

strcpy(categoria,"Juvenil");

else if(c1.edad <= 40){

strcpy(categoria,"Senior");

else{

strcpy(categoria,"Veterano");

cout<<"\n\nMostrando Datos"<<endl;

cout<<"Nombre: "<<c1.nombre<<endl;

cout<<"Edad: "<<c1.edad<<endl;

cout<<"Sexo: "<<c1.sexo<<endl;

cout<<"Club: "<<c1.club<<endl;

cout<<"Categoria: "<<categoria<<endl;

getch();

return 0;

}
/*3. Pedir al usuario que digite 2 cadenas de caracteres, e indicar si ambas cadenas

son iguales, en caso de no serlo, indicar cual es mayor alfabeticamente.*/

#include<iostream>

#include<conio.h>

#include<string.h>

using namespace std;

int main(){

char palabra1[20],palabra2[20];

cout<<"Digite una palabra: ";

cin.getline(palabra1,20,'\n');

cout<<"Digite otra palabra: ";

cin.getline(palabra2,20,'\n');

if(strcmp(palabra1,palabra2)==0){

cout<<"Ambas cadenas son iguales";

else if(strcmp(palabra1,palabra2)>0){

cout<<palabra1<<" es mayor alfabeticamente";

else{

cout<<palabra2<<" es mayor alfabeticamente";

}
getch();

return 0;

/*5. Escriba un programa que lea de la entrada estándar un carácter e indique

en la salida estándar si el carácter es una vocal minúscula o no.*/

#include<iostream>

using namespace std;

int main(){

char letra;

cout<<"Digite un caracter: ";

cin>>letra;

switch(letra){

case 'a':

case 'e':

case 'i':

case 'o':
case 'u': cout<<"Es una vocal minuscula";
break;

default : cout<<"No es una vocal minuscula";


break;

return 0;

/*2. Realice un programa que lea de la entrada estándar números hasta que se

introduzca un cero. En ese momento el programa debe terminar y mostrar en la

salida estándar el número de valores mayores que cero leídos.*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int numero,conteo=0;

do{

cout<<"Digite un numero: ";

cin>>numero;

if(numero>0){

conteo++; //aumentamos el conteo cada vez que


encuentra un numero mayor a 0

}while(numero != 0);
cout<<"\nEl total de numeros mayores que 0 es: "<<conteo;

getch();

return 0;

/*Ejercicio 8: Pedir una cadena de caracteres (string) al usuario, e indicar cuantas

veces aparece la vocal a,e,i,o,u; en la cadena de caracteres.

NOTA: Usar punteros*/

#include<iostream>

#include<conio.h>

#include<string.h>

using namespace std;

void pedirDatos();

void contarVocales(char *);

char palabraUsuario[30];

int main(){

pedirDatos();

contarVocales(palabraUsuario);//Llamada a la funcion para contar vocales del


nombre
getch();

return 0;

void pedirDatos(){

cout<<"Digite una palabra: ";

cin.getline(palabraUsuario,30,'\n');

strupr(palabraUsuario); //pasar el nombre a mayuscula

void contarVocales(char *palabra){

int contA=0,contE=0,contI=0,contO=0,contU=0;

while(*palabra){ //mientras nombre sea diferente de nulo '\0'

switch(*palabra){

case 'A': contA++;break;

case 'E': contE++;break;

case 'I': contI++;break;

case 'O': contO++;break;

case 'U': contU++;break;

palabra++;

//Imprimiendo el conteo de cada vocal

cout<<"\nNumero de vocales A: "<<contA<<endl;

cout<<"Numero de vocales E: "<<contE<<endl;

cout<<"Numero de vocales I: "<<contI<<endl;

cout<<"Numero de vocales O: "<<contO<<endl;


cout<<"Numero de vocales U: "<<contU<<endl;

/*Ejercicio 7: Pedir su nombre al usuario y devolver el número de vocales que hay.

NOTA: Recuerda que debes utilizar punteros . */

#include<iostream>

#include<conio.h>

#include<string.h>

using namespace std;

//Prototipo de Función

void pedirDatos();

int contarVocales(char *);

char nombreUsuario[30];

int main(){

pedirDatos();

cout<<"\nNumero de vocales en el nombre: "<<contarVocales(nombreUsuario);

getch();

return 0;

void pedirDatos(){

cout<<"Digite su nombre: ";


cin.getline(nombreUsuario,30,'\n');

strupr(nombreUsuario); //Pasar el nombre a mayuscula

int contarVocales(char *nombre){

int cont = 0;

while(*nombre){ //mientras nombre no sea nulo '\0'

switch(*nombre){

case 'A':

case 'E':

case 'I':

case 'O':

case 'U': cont++;

nombre++;

return cont;

/*Ejercicio 2: Escriba una función llamada al_cuadrado() que calcule el cuadrado del

valor que se le transmite y despliegue el resultado. La función deberá ser capaz de

elevar al cuadrado números flotantes*/


#include<iostream>

#include<conio.h>

using namespace std;

void pedirDatos();

void al_cuadrado(float n);

float numero;

int main(){

pedirDatos();

al_cuadrado(numero);

getch();

return 0;

void pedirDatos(){

cout<<"Digite un numero: ";

cin>>numero;

void al_cuadrado(float n){

float cuadrado=0;

cuadrado = numero*numero;

cout<<"El cuadrado del numero es: "<<cuadrado<<endl;

}
/*Ejercicio 2: Determinar si un número es primo o no; con puteros y además
indicar en

que posicion de memoria se guardo el número.*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int numero,*dir_num,cont=0;

cout<<"Digite un numero: "; //Pedimos y guardamos el numero

cin>>numero;

dir_num = &numero; //Almacenamos su direccion

//Determinamos si es primo o no

for(int i=1;i<*dir_num;i++){

if(*dir_num%i == 0){

cont++;

if(cont>2){

cout<<"El numero "<<*dir_num<<" NO es primo"<<endl;

}
else{

cout<<"El numero "<<*dir_num<<" ES PRIMO"<<endl;

cout<<"Direccion: "<<dir_num<<endl; //Mostramos su direccion en memoria

getch();

return 0;

/*Ejercicio 3: Escriba una función nombrada funpot() que eleve un número entero que

se le transmita a una potencia en número entero positivo y despliegue el resultado.

El número entero positivo deberá ser el segundo valor transmitido a la función.*/

#include<iostream>

#include<conio.h>

using namespace std;

void pedirDatos();

void funpot(int x,int y);

int numero,exponente;

int main(){

pedirDatos();
funpot(numero,exponente);

getch();

return 0;

void pedirDatos(){

cout<<"Digite el numero a elevar: ";

cin>>numero;

cout<<"Digite el exponetente de elevacion: ";

cin>>exponente;

void funpot(int x,int y){

long resultado=1;

for(int i=1;i<=y;i++){

resultado *= x;

cout<<"El resultado de la elevacion es: "<<resultado<<endl;

//9. Escriba un programa que calcule el valor de: 1*2*3*...*n


(factorial)

#include<iostream>

#include<stdlib.h>
using namespace std;

int main(){

int n,factorial=1;

cout<<"Digite un numero: ";

cin>>n;

for(int i=1;i<=n;i++){

factorial *= i;

cout<<"\nEl factorial del numero es: "<<factorial<<endl;

system("pause");

return 0;

/*8. Escriba un programa que lea de la entrada estándar los dos catetos de un

triángulo rectángulo y escriba en la salida estándar su hipotenusa.*/

#include<iostream>

#include<math.h>

using namespace std;


int main(){

float cateto1,cateto2,hipotenusa;

cout<<"Digite el cateto 1: "; cin>>cateto1;

cout<<"Digite el cateto 2: "; cin>>cateto2;

hipotenusa = sqrt(pow(cateto1,2)+pow(cateto2,2));

cout<<"\nEl resultado de la hipotenusa es:


"<<hipotenusa;

return 0;

/*Ejercicio 1: Hacer un programa para agregar números enteros a una pila, hasta que
el

usuario lo decida, después mostrar todos los números introducidos en la pila.*/

#include<iostream>

#include<conio.h>

#include<stdlib.h>

using namespace std;

struct Nodo{

int dato;

Nodo *siguiente;
};

//Prototipos de Función

void agregarPila(Nodo *&,int);

void sacarPila(Nodo *&,int &);

int main(){

Nodo *pila = NULL; //Inicializamos pila

int dato;

char rpt;

do{ //Pedimos todos los elementos de la pila

cout<<"Digite un numero: ";

cin>>dato;

agregarPila(pila,dato);

cout<<"\nDesea agregar otro numero a pila(s/n): ";

cin>>rpt;

}while((rpt == 's')||(rpt=='S'));

cout<<"\nMostrando los elementos de la pila: ";

while(pila != NULL){

sacarPila(pila,dato);

if(pila != NULL){

cout<<dato<<" , ";

else{

cout<<dato<<".";

}
}

getch();

return 0;

void agregarPila(Nodo *&pila,int n){

Nodo *nuevo_nodo = new Nodo();

nuevo_nodo->dato = n;

nuevo_nodo->siguiente = pila;

pila = nuevo_nodo;

cout<<"\tElemento "<<n<<" agregado a PILA correctamente";

void sacarPila(Nodo *&pila,int &n){

Nodo *aux = pila;

n = aux->dato;

pila = aux->siguiente;

delete aux;

/*5. Realice un programa que lea una matriz de 3x3 y cree su matriz traspuesta.

La matriz traspuesta es aquella en la que la columna i era la fila i de la matriz


original.

|1 2 3| |1 4 7|

|4 5 6| --> |2 5 8|

|7 8 9| |3 6 9|

*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int numeros[3][3];

for(int i=0;i<3;i++){

for(int j=0;j<3;j++){

cout<<"Digite un numero ["<<i<<"]["<<j<<"]: ";

cin>>numeros[i][j];

cout<<"\nMatriz Normal\n";

for(int i=0;i<3;i++){

for(int j=0;j<3;j++){

cout<<numeros[i][j]<<" ";

cout<<"\n";

}
cout<<"\nMatriz Transpuesta\n";

for(int i=0;i<3;i++){

for(int j=0;j<3;j++){

cout<<numeros[j][i]<<" ";

cout<<"\n";

getch();

return 0;

/*4. Hacer un arreglo de estructura llamada atleta para N atletas que contenga los

siguientes campos: nombre, país, numero_medallas. y devuelva los datos

(Nombre, país) del atleta que ha ganado el mayor número de medallas.*/

#include<iostream>

#include<conio.h>

using namespace std;

struct Atleta{

char nombre[20];
char pais[20];

int n_medallas;

}atletas[100];

int main(){

int n_atletas,mayor = 0,posM=0;

cout<<"Digite el numero de atletas: ";

cin>>n_atletas;

//Pedimos los datos para N atletas

for(int i=0;i<n_atletas;i++){

fflush(stdin);

cout<<"Nombre: "; cin.getline(atletas[i].nombre,20,'\n');

cout<<"Pais: "; cin.getline(atletas[i].pais,20,'\n');

cout<<"Numero de Medallas: "; cin>>atletas[i].n_medallas;

//Sacando el atleta con mayor numero de medallas

if(atletas[i].n_medallas > mayor){

mayor = atletas[i].n_medallas;

posM = i;

cout<<"\n";

cout<<"\nAtleta con mas medallas ganadas: \n";

cout<<"Nombre: "<<atletas[posM].nombre<<endl;

cout<<"Pais: "<<atletas[posM].pais<<endl;

getch();

return 0;
}

/*2. Hacer una estructura llamada alumno, en la cual se tendrán los siguientes

Campos: Nombre, edad, promedio, pedir datos al usuario para 3 alumnos, comprobar cuál

de los 3 tiene el mejor promedio y posteriormente imprimir los datos del alumno.*/

#include<iostream>

#include<conio.h>

using namespace std;

struct Alumno{

char nombre[20];

int edad;

float promedio;

}alumnos[3];

int main(){

int mayor = 0,pos=0;

//Pedir los datos para 3 alumnos

for(int i=0;i<3;i++){

fflush(stdin);

cout<<"Nombre: "; cin.getline(alumnos[i].nombre,20,'\n');

cout<<"Edad: "; cin>>alumnos[i].edad;


cout<<"Promedio: "; cin>>alumnos[i].promedio;

if(alumnos[i].promedio > mayor){

mayor = alumnos[i].promedio; //sacamos el mayor promedio

pos = i; // guardamos la posicion del mayor promedio

cout<<"\n";

//Imprimimos los datos del alumno con el mejor promedio

cout<<"\nAlumnos con el mejor Promedio: \n";

cout<<"Nombre: "<<alumnos[pos].nombre<<endl;

cout<<"Edad: "<<alumnos[pos].edad<<endl;

cout<<"Promedio: "<<alumnos[pos].promedio<<endl;

getch();

return 0;

/*Ejercicio 4: Rellenar un arreglo con n numeros, posteriormente utilizando punteros

determinar el menor elemento del vector.*/

#include<iostream>

#include<conio.h>

using namespace std;


int main(){

int
nElementos,numeros[100],*dir_numeros,menor=999999;

cout<<"Digite el numero de
elementos del arreglo: ";

cin>>nElementos;

for(int i=0;i<nElementos;i++){

cout<<i+1<<". Digite un
numero: ";

cin>>numeros[i]; //Guardamos
los elementos en el arreglo

dir_numeros = numeros;

for(int
i=0;i<nElementos;i++){//Determinamos el menor elemento en cada

if(*dir_numeros <
menor){//iteracion del bucle

menor = *dir_numeros;

dir_numeros++;

cout<<"\nEl menor elemento es:


"<<menor<<endl;

getch();

return 0;

}
/*10. Mostrar los meses del año, pidiéndole al usuario un número entre (1-12),

y mostrar el mes al que corresponde. */

#include<iostream>

using namespace std;

int main(){

int numero;

cout<<"Digite un numero entre [1-12]: ";

cin>>numero;

switch(numero){

case 1: cout<<"Enero";break;

case 2: cout<<"Febrero";break;

case 3: cout<<"Marzo";break;

case 4: cout<<"Abril";break;

case 5: cout<<"Mayo";break;

case 6: cout<<"Junio";break;

case 7: cout<<"Julio";break;

case 8: cout<<"Agosto";break;

case 9: cout<<"Septiembre";break;

case 10: cout<<"Octubre";break;

case 11: cout<<"Noviembre";break;

case 12: cout<<"Diciembre";break;

default: cout<<"No existe mes para ese numero";break;


}

return 0;

/*Ejercicio 1: Comprobar si un número es par o impar, y señalar la posicion de memoria

donde se está guardando el número. Con punteros.*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int numero, *dir_numero;

cout<<"Digite un numero: "; cin>>numero; //Pedimos el numero al usuario

dir_numero = &numero;

if(*dir_numero%2==0){

cout<<"El numero: "<<*dir_numero<<" es par"<<endl;

cout<<"Posicion: "<<dir_numero<<endl;

else{

cout<<"El numero: "<<*dir_numero<<" es impar"<<endl;

cout<<"Posicion: "<<dir_numero<<endl;

}
getch();

return 0;

/*3. Realice un programa que lea un valor entero y determine si se trata de un

número par o impar.*/

#include<iostream>

using namespace std;

int main(){

long long int numero;

cout<<"Digite un numero: ";

cin>>numero;

if(numero==0){

cout<<"El numero es cero";

else if(numero%2==0){

cout<<"El numero es par";

else{

cout<<"El numero es impar";

}
return 0;

/*Ejercicio 3: Rellenar un array de 10 números, posteriormente utilizando punteros

indicar cuales son números pares y su posicion en memoria. */

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int numeros[10], *dir_numeros;

for(int i=0;i<10;i++){//Pidiendo los números al usuario

cout<<i+1<<". Digite un numero: ";

cin>>numeros[i];

dir_numeros = numeros; //indicar al puntero que inicie en


a[0]

for(int i=0;i<10;i++){

if(*dir_numeros%2==0){//Comprobar números pares

cout<<"Numero par: "<<*dir_numeros<<endl;

cout<<"Posicion: "<<dir_numeros<<endl;

dir_numeros++;

}
getch();

return 0;

/*Ejercicio 5: Pedir al usuario N números, almacenarlos en un arreglo dinámico

posteriormente ordenar los números en orden ascendente y mostrarlos en pantalla.

NOTA: Utilizar cualquier método de ordenamiento. */

#include<iostream>

#include<conio.h>

#include<stdlib.h>

using namespace std;

//Prototipos de Funciones

void pedirDatos();

void ordenarNumeros(int *,int);

void mostrarArregloOrdenado(int *,int);

int nElementos, *elemento;

int main(){

pedirDatos();

ordenarNumeros(elemento,nElementos);

mostrarArregloOrdenado(elemento,nElementos);
delete[] elemento;

getch();

return 0;

void pedirDatos(){//Pedimos los datos al usuario

cout<<"Digite el numero de elementos: ";

cin>>nElementos;

elemento = new int[nElementos];

for(int i=0;i<nElementos;i++){

cout<<"Digite un numero ["<<i<<"]: ";

cin>>*(elemento+i);

void ordenarNumeros(int *elemento,int nElementos){

int aux;

//Ordenamiento por metodo burbuja con punteros

for(int i=0;i<nElementos;i++){

for(int j=0;j<nElementos-1;j++){

if(*(elemento+j) > *(elemento+j+1)){

aux = *(elemento+j);

*(elemento+j) = *(elemento+j+1);

*(elemento+j+1) = aux;

}
}

void mostrarArregloOrdenado(int *elemento,int nElementos){//Mostrando Arreglo ordenado

cout<<"\n\nMostrando Arreglo Ordenado: ";

for(int i=0;i<nElementos;i++){

cout<<*(elemento+i)<<" ";

//7. Escriba un programa que calcule el valor de: 1+2+3+...+n

#include<iostream>

#include<stdlib.h>

using namespace std;

int main(){

int n,suma=0;

cout<<"Digite el total de numeros a sumar: ";

cin>>n;

for(int i=1;i<=n;i++){

suma += i;

cout<<"\nLa suma es: "<<suma<<endl;


system("pause");

return 0;

//8. Escriba un programa que calcule el valor de: 1+3+5+...+2n-1

#include<iostream>

#include<stdlib.h>

using namespace std;

int main(){

int n,suma=0;

cout<<"Digite la cantidad de elementos que desea sumar: ";

cin>>n;

for(int i=1;i<=2*n-1;i+=2){

suma += i;

cout<<"La suma es: "<<suma<<endl;

system("pause");

return 0;
}

*5. Escriba un programa que lea valores enteros


hasta que se introduzca un

valor en el rango [20-30] o se introduzca el valor 0. El programa debe

entregar la suma de los valores mayores a 0 introducidos.*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

int numero, suma = 0;

do{

cout<<"Digite un numero: ";

cin>>numero;

if(numero>0){

suma += numero;

}while( ((numero<20) || (numero>30)) &&


(numero!=0) );
cout<<"\nLa suma de todos los numeros mayores a
cero es: "<<suma<<endl;

getch();

return 0;

/*4. Escriba un programa que tome cada 4 horas la temperatura exterior,

leyéndola durante un período de 24 horas. Es decir, debe leer 6 temperaturas.

Calcule la temperatura media del día, la temperatura más alta y la más baja.*/

#include<iostream>

#include<conio.h>

using namespace std;

int main(){

float temperatura,suma_temperatura=0,temperatura_media;

float temperatura_alta=0,temperatura_baja=999;

for(int i=0;i<24;i+=4){ //vamos aumentando de 4 en 4 horas

cout<<"Digite la temperatura a las "<<i<<": ";

cin>>temperatura;

suma_temperatura += temperatura;

if(temperatura > temperatura_alta){


temperatura_alta = temperatura;

if(temperatura < temperatura_baja){

temperatura_baja = temperatura;

temperatura_media = suma_temperatura / 6; //entre 6 porque son 6 temperaturas


al dia

cout<<"\nLa temperatura media del dia es: "<<temperatura_media<<endl;

cout<<"La temperatura mas alta es: "<<temperatura_alta<<endl;

cout<<"La temperatura mas baja es: "<<temperatura_baja<<endl;

getch();

return 0;

/*Ejercicio 9: Escriba una función nombrada tiempo() que tenga un parámetro en número

entero llamado totalSeg y tres parámetros de referencia enteros nombrados horas, min

y seg. La función es convertir el número de segundos transmitido en un número

equivalente de horas, minutos y segundos.*/

#include<iostream>

#include<conio.h>

using namespace std;


void tiempo(int,int&,int&,int&);

int main(){

int totalSeg,horas,min,seg;

cout<<"Digita la cantidad de segundos: ";

cin>>totalSeg;

tiempo(totalSeg,horas,min,seg);

cout<<"\nHoras: "<<horas<<endl;

cout<<"Minutos: "<<min<<endl;

cout<<"Segundos: "<<seg<<endl;

getch();

return 0;

void tiempo(int totalSeg,int& horas,int& min,int& seg){

horas = totalSeg/3600;

totalSeg %= 3600;

min = totalSeg/60;

seg = totalSeg%60;

}
/*6. Escriba un programa que lea de la entrada estándar un carácter e indique

en la salida estándar si el carácter es una vocal minúscula, es una vocal

mayúscula o no es una vocal.*/

#include<iostream>

using namespace std;

int main(){

char letra;

cout<<"Digite un caracter: ";

cin>>letra;

switch(letra){

case 'a':

case 'e':

case 'i':

case 'o':

case 'u': cout<<"Es una vocal minuscula";break;

case 'A':

case 'E':

case 'I':

case 'O':

case 'U': cout<<"Es una vocal MAYUSCULA";break;

default : cout<<"No es una vocal";break;

return 0;

}
/*Cuál es el área total de un paralelepípedo*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()

int a,b,h,A,B,C,T;

cout<<"Ingrese el largo:";cin>>a;

cout<<"Ingrese el ancho:";cin>>b;

A=a*b;

cout<<"El area A es:"<<A<<endl;

cout<<"Ingrese la altura:";cin>>h;

B=b*h;

cout<<"El area B es:"<<B<<endl;

C=a*h;

cout<<"El area C es:"<<C<<endl;

T=2*A+2*B+2*C;

cout<<"El area total es:"<<T;

getch();

}
/*Calcule el perímetro de un rectángulo.*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()

int b,h,p;

cout<<"Ingrese la base: ";

cin>>b;

cout<<"Ingrese la altura: ";

cin>>h;

p=(b+h)*2;

cout<<"El perimetro es : "<<p;

getch();

/* Muestre todos los números capicúas o palíndromos dentro de un rango

determinado. Un número es capicúa cuando al invertir sus cifras nos da el

mismo número.*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()
{

unsigned long int n,s,inv,i,linf,lsup;

s=0;

cout<<"Ingrese limite inferior:";cin>>linf;

cout<<"Ingrese limite superior:";cin>>lsup;

for(i=linf;i<lsup;i++)

n=i;

inv=0;

while(n>0)

inv=(10*inv)+(n%10);

n=n/10;

if(inv==i)

cout<<inv<<" ";

s=s+1;

cout<<endl;

cout<<"Total de capicuas = "<<s;

getch();

}
/*Si dos números son positivos calcule su producto, en caso contrario calcule

su suma.*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()

int a, b, Res;

cout<<"Ingrese dos numeros: \n"; cin>>a>>b;

if(a>0&&b>0)

Res=a*b; cout<<"Como son positivos, su producto es: "<<Res;

else

Res=a+b; cout<<"Como por lo menos uno es negativo, su suma es: "<<Res;

getch();

/* Cuál es el volumen de un paralelepípedo de largo, ancho y altura conocidas?*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()

{
int largo,ancho,altu;

float volumen;

cout<<"\nIngrese el largo:";

cin>>largo;

cout<<"\nIngrese el ancho:";

cin>>ancho;

cout<<"\nIngrese la altura:";

cin>>altu;

volumen=largo*ancho*altu;

cout<<"\nEl volumen de paralelepipedo es:"<<volumen;

getch();

#include <iostream>

using namespace std;

int main()

int dato,temp,digito,error;

error = 0;

cout << "Inversor de digitos de un numero " << endl;

cout << "Digite el numero : ";

cin >> dato;

if (dato < 10 ){

cout << "ERROR : Digite un numero (positivo) mayor que 10" << endl; // valida que sea mayor
que 9

error = 1;
// bandera de error

if (error == 0){

cout << "numero invertido : ";

while ( dato > 0){

temp = dato/10;

digito = dato - temp*10;

cout << digito ;

dato = temp;

cout << endl;

return 0;

/*Lea una hora y diga a cuántas horas, minutos y segundos equivale*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()

int h,min,seg;

cout<<"Ingrese una hora.";

cin>>h;

min=h*60;

seg=h*3600;
cout<<"\nLa hora es:"<<h<<"\nMinutos:"<<min<<"\nSegundos:"<<seg;

getch();

/* Hallar el área y el perímetro de un rectángulo. Considerando las siguientes

fórmulas: área = base x altura, perímetro = 2 x (base + altura).*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()

int b,h;

float area,perimetro;

cout<<"Ingrese la base:";

cin>>b;

cout<<"Ingrese la altura:";

cin>>h;

area=b*h;

perimetro=2*(b+h);

cout<<"El area es:";

cout<<area, " ";


cout<<"\nEl perimetro es:";

cout<<perimetro;

getch();

*Calcule la longitud de una circunferencia de radio conocido*/

#include<iostream>

using namespace std;

#include<conio.h>

#include<math.h>

int main()

float L,r,pi=3.1416;

cout<<"ingrese el radio:";

cin>>r;

L=2*pi*r;

cout<<"la longitud de circunferencia es:"<<L;

getch();

}
/*Sabiendo que una milla equivale a 1609 Kilómetros, lea una cantidad en

millas y conviértala a kilómetros.*/

#include<iostream>

using namespace std;

#include<conio.h>

int main()

double mill,x;

cout<<"Ingrese la cantidad en milla : ";

cin>>mill;

x=1609*mill;

cout<<"La cantidad en kilómetros es: "<<x;

getch();

/*Diga si un número n es múltiplo de m.*/

#include<iostream>

using namespace std;

#include<conio.h>

#include<math.h>

int main()
{

int n, m;

cout<<"Se hallara si un numero 'n` es multiplo de 'm`: ";

cout<<"\nDe valores a 'n` y 'm`: ";cin>>n>>m;

if(n%m==0)

cout<<"si.., "<<n<<" Es multiplo de "<<m;

else

cout<<"no... "<<n<<" No es multiplo de "<<m;

getch();

/*Obtenga el valor absoluto de un número.*/

#include<iostream>
using namespace std;

#include<conio.h>

int main()

int n;

cout<<"Ingrese el numero:";cin>>n;

if(n>=0)

cout<<n;

else

cout<<"El valor absoluto del numero es:"<<-n;

getch();

#include<conio.h>

using namespace std;

#include<iostream>

int main()

float n, r;

int i;

cout<<"Ingrese un numero : ";cin>>n;

for(i=1;i<=20;i++)

r=n+i;

cout<<"\t\t\t\t"<<n<<" + "<<i<<" = "<<r<<"\n";


}

getch();

Você também pode gostar