elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Funcion Separar Digitos de un numero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion Separar Digitos de un numero  (Leído 7,219 veces)
Ja_90

Desconectado Desconectado

Mensajes: 51



Ver Perfil
Funcion Separar Digitos de un numero
« en: 29 Septiembre 2015, 03:22 am »

Buenas Noches, ando resolviendo algunos ejercicios de un libro, pero quede en este

Escriba segmentos de programa que lleven a cabo cada una de las siguientes tareas:
a) Calcular la parte entera de un cociente, cuando el entero a se divide entre el entero b.
b) Calcular el residuo entero, cuando el entero a se divide entre el entero b.
c) Utilice los segmentos de programa desarrolladas en a) y b), para escribir una función que introduzca un entero
entre 1 y 32767 y que imprima una serie de dígitos, y que cada par de ellos se encuentre separado por dos espacios. Por ejemplo, el entero 4562 se debe imprimir como:
4 5 6 2.

La parte a y b es sencilla ya lo hice pero no he podido con la parte c, si alguien me puede guiar en como, se que debo jugar con el cociente y residuo pero no he encontrado una manera que me de solucion a lo que me piden. Muchas gracias

Código
  1. #include <iostream>
  2. using std::cout;
  3. using std::cin;
  4. using std::endl;
  5.  
  6. /// Prototipo funciones
  7. int cociente(int, int);
  8. int residuo(int, int);
  9.  
  10. int main() {
  11.  
  12.   cout << "\t  FUNCIONES Ejercicio #3      \n\n";
  13.  
  14.   int a, b, num;
  15.  
  16.   cout << " Ingrese valor de a: ";
  17.   cin >> a;
  18.   cout << " Ingrese valor de b: ";
  19.   cin >> b;
  20.   cout << endl;
  21.  
  22.   cout << " Cociente: " << cociente(a,b);
  23.   cout << " Residuo: " << residuo(a,b);
  24.   cout << endl << endl;
  25.  
  26.   cout << " Ingrese un valor entre 1 y 32767: \n";
  27.   cin >> num;
  28.  
  29.   if(num>0 && num<32768) {
  30.  
  31.        // Aca iria la funcion
  32.   }
  33.   else
  34.      cout << " Ingrese valores correctos.\n\n";
  35.  
  36.   return 0;
  37. }
  38.  
  39. int cociente(int x, int y) {
  40.  
  41.   return x/y;
  42. }
  43.  
  44. int residuo(int x, int y) {
  45.  
  46.   return x%y;
  47. }
  48.  
  49.  


En línea

:D  ::::Ja_90::::   :D
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Funcion Separar Digitos de un numero
« Respuesta #1 en: 29 Septiembre 2015, 04:37 am »

Para el primer paso creo que sería

Código
  1.    int numero =  231;
  2.  
  3.    int i = 10;
  4.    for(  ; i < 1000001 ; i*=10)
  5.        if( numero < i){
  6.         numero = (cociente*i + numero)*10 + residuo;
  7.         break;
  8.         }
  9.  
Esto lo que hace es agregar el cociente al principio del número y el residuo al final. si el número introducido por ejemplo es un 231 y si el cociente es 4 y residuo 6 entonces sale 42316.

Luego sólo tienes que ir sacando el primer dígito del número e ir imprimiendolo. para sacar el primer dígito de 23 por ejemplo seria un 23/10 lo que es igual a 2 luego restar ese dígito a 23 sería. 23 - 2*10. repite hasta que quede el último dígito. si el número es menor que 100 entonces lo divides por 10, sino sii es menor que 1000 entonces por 100 y asi. Luego cada segunda vez que repitas el procedimiento imprimes dos espacios.


« Última modificación: 29 Septiembre 2015, 04:54 am por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Ja_90

Desconectado Desconectado

Mensajes: 51



Ver Perfil
Re: Funcion Separar Digitos de un numero
« Respuesta #2 en: 30 Septiembre 2015, 23:43 pm »

Hola 0xFer  la verdad no te entendi muy bien lo ultimo sobre como ir sacando cada digito. Me puedes explicar de nuevo esa parte te lo agradeceria.
En línea

:D  ::::Ja_90::::   :D
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Funcion Separar Digitos de un numero
« Respuesta #3 en: 1 Octubre 2015, 01:21 am »

Pongamos que tenemos 7346. para sacar el número 7 y guardarlo en una variable hay que dividir 7346 por 1000. int dígito = 7346/1000 = 7.xxx. por ser una variable de tipo entera lo que está después del punto se trunca entonces dígito = 7. Luego 7346 - 7*1000 = 346. Ahora haces lo mismo con 346. Es un proceso iterativo.

Código
  1. int num 7346;
  2.  
  3. //Aqui empieza el proceso iterativo
  4. int digito = 7346/1000;
  5. cout << digito;
  6.  
  7. num = num - digito*1000;
  8.  

En las siguientes iteraciones sería
digito = 346/100
digito = 46/10
digito = 6/1

Luego habras sacado todos los dígitos
« Última modificación: 1 Octubre 2015, 01:28 am por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Separar digitos de un numero
Programación C/C++
vaXy 6 36,382 Último mensaje 1 Diciembre 2012, 16:17 pm
por cypascal
Separar numeros en digitos individuales
Programación C/C++
dmacias 8 157,354 Último mensaje 14 Noviembre 2018, 02:45 am
por Beginner Web
¿Cómo separar un numero binario en digitos?
Programación C/C++
Sherboc 7 9,872 Último mensaje 24 Junio 2016, 02:30 am
por AlbertoBSD
Separar un numero de 16 digitos
Programación C/C++
Miguelito 3 2,896 Último mensaje 5 Mayo 2019, 01:58 am
por K-YreX
Separar los dígitos impares de un numero con guion
Programación C/C++
dpn 2 4,181 Último mensaje 20 Agosto 2021, 21:02 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines