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