45. C++ || Funciones ejercicios
66. Hacer una Función en C++ en la que el usuario pueda ingresar un número y a continuación, tenga la oportunidad de buscar un dígito especifico de derecha a izquierda, por ejemplo, si el usuario ingresa el número 12843 y luego desea saber cuál es el dígito que se encuentra en la tercera posición de derecha a izquierda, bastará con introducir en el programa el número 3 y el resultado en este ejemplo será: 8.
#include <iostream>
using namespace std;
int buscarDigito(int numero, int digito);
int main(){
int numero, digitoParaBuscar;
cout<<"Ingrese un numero: "; cin>>numero;
cout<<"Que digito quiere buscar? "; cin>>digitoParaBuscar;
if(digitoParaBuscar > 0){
cout<<"El valor del digito es: "<<buscarDigito(numero,digitoParaBuscar)<<endl;
}else{
cout<<"Digito erroneo"<<endl;
}
return 0;
}
int buscarDigito(int numero, int digito){
int resto = numero;
for(int i = 1; (resto > 0) && (i < digito); i++){ resto /= 10; }
return resto % 10;
}67. Hacer una función en C++ acepte como entrada desde teclado un número entero mayor que cero y dé como salida el resultado de sumar dos a dos los dígitos que aparecen en posiciones simétricas respecto al dígito central dentro del número dado como entrada. Por ejemplo:
Para el número : 2354869
La salida es: 2 + 9 = 11, 3 + 6 = 9, 5 + 8 = 13, 4
Para el número : 6582
La salida es : 6 + 2 = 8, 5 + 8 = 13
#include <iostream>
using namespace std;
void escribirSumaDeDigitos(int numero);
int buscarDigito(int numero, int digito);
int verificarCantidadDeDigitos(int numero);
int main(){
int numero, digitoParaBuscar;
cout<<"Ingrese un numero: "; cin>>numero;
escribirSumaDeDigitos(numero);
return 0;
}
void escribirSumaDeDigitos(int numero){
int numeroDeDigitos = verificarCantidadDeDigitos(numero);
for(int i = 0; i < numeroDeDigitos / 2; i++){
int digitoInicial = buscarDigito(numero, i);
int digitoFinal = buscarDigito(numero,(numeroDeDigitos - i - 1));
cout<<digitoInicial<<" + "<<digitoFinal<<" = "<<(digitoInicial + digitoFinal)<<endl;
}
if(numeroDeDigitos % 2 != 0){ cout<<buscarDigito(numero,(numeroDeDigitos / 2)); }
return;
}
int buscarDigito(int numero, int digito){
int resto = numero;
for(int i = 0; (resto > 0) && (i < digito); i++){ resto /= 10; }
return resto % 10;
}
int verificarCantidadDeDigitos(int numero){
int resto = numero;
int i = 1;
while(resto > 9){ resto /= 10; ++i; }
return i;
}68. Hacer una función en C++ que calcule el mayor de dos números enteros, reales y caracteres haciendo uso de una plantilla de función.
#include <iostream>
using namespace std;
template <class T>
T mayorDeDosNumeros(T a, T b);
int main(){
int num1, num2;
cout<<"Ingresa dos enteros: "; cin>>num1>>num2;
cout<<"El mayor es: "<<mayorDeDosNumeros(num1,num2)<<endl;
float fnum1, fnum2;
cout<<"Ingresa dos reales: "; cin>>fnum1>>fnum2;
cout<<"El mayor es: "<<mayorDeDosNumeros(fnum1,fnum2)<<endl;
char cnum1, cnum2;
cout<<"Ingresa dos caracteres: "; cin>>cnum1>>cnum2;
cout<<"El mayor es: "<<mayorDeDosNumeros(cnum1,cnum2)<<endl;
return 0;
}
template <class T>
T mayorDeDosNumeros(T a, T b){
if(a > b){ return a; }
return b;
}69. Hacer una función en C++ que permita al usuario introducir un año y poder determinar si es bisiesto o no.
#include <iostream>
using namespace std;
inline bool verificarAnioBisiesto(int anio);
int main(){
int anio;
cout<<"Introduce a"<<(char)164<<"o: "; //164 ascii de ñ
cin >> anio;
if(verificarAnioBisiesto(anio))
cout << "Bisiesto" << endl;
else
cout << "No es bisiesto" << endl;
}
inline bool verificarAnioBisiesto(int anio){
if(anio % 4 == 0 && anio % 100 != 0 || anio % 400 == 0){ return true; }
else{ return false; }
}70. Hacer una función en C++ donde el usuario pueda introducir un número, de ser positivo, la función devolverá el valor de 1, si es negativo,
la función devolverá el valor de -1, de ser 0, entonces la función devolverá el mismo valor.
#include <iostream>
using namespace std;
inline int verificarNumero(int numero);
int main(){
int num1;
cout<<"Introduce un numero: ";
cin>>num1;
cout<<"El numero toma un valor de: "<<verificarNumero(num1)<<endl;
}
inline int verificarNumero(int numero){
if(numero < 0){ return -1; }
else if(numero > 0){ return 1; }
return 0;
}

Publica un comentario