SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: ifmaster en Sábado 5 de Junio de 2004, 17:32
-
Pues no se como hacer esto, por ejemplo que el programa tome el numero '55555' y lo imprima luego asi: 5 5 5 5 5
En el libro que estoy usando para aprender C pone que use los operadores de division y de modulo para hacerlo, pero esk no entiendo como esto me puede ayudar a hacerlo, se k con el operador de modulo puedo saber si un numero es par o impar si el valor es 0(par).
Bueno el ejercicio que se me plantea es que mi programa detecte si el numero de 5 digitos introducido es palindromo o no (es decir numeros que se len igual hacia adelante como hacia atras, ej: 12321, 55555, 45554, 11611, ...), pues eso a ver si alguien me puede ayudar :P thx
-
Bueno, una forma sencilla sería la siguiente:
Como solo tienes 5 dígitos, entonces declaras 5 variables para cada dígito.
Si el numero es por ejemplo: 55555......
Para la primera variable divides este número entre 10000, utilizando / para tomar el valor entero.
Luego, divides 55555 entre 10000 con el simbolo % para obtener el residuo.
Con ese residuo, 5555 lo divides entre 1000 con / y luego el residuo con % y así sucesivamente hasta que tengas tus 5 variables llenas.
Luego, simplemente comparas la primer con la quinta y la segunda con la cuarta.
Saludos,
Blag :devil:
-
Muchas gracias, no e entendido muy bien lo que me has dicho pero voy a leerlo tranquilamente y a ver si lo consigo, de nuevo gracias :)
-
jaja otra pequeña duda :P esk no hace mucho k estoy programando y no se mucho todabia :P a ver para inscribir un valor de 5 digitos entero que uso:
unsigned int o long? o otro tipo de declaracion de variable? y luego k tengo que poner en scanf y printf para capturar y mostrar el valor de esa variable :P(no se si me explique muy bien xD) es decir al capturar y mostrar una variable del tipo char pues se hace %c, no? pues dime x favor k tipo de declaracion tengo k usar y k % tengo k poner :P thx again
-
Muchas gracias, no e entendido muy bien lo que me has dicho pero voy a leerlo tranquilamente y a ver si lo consigo, de nuevo gracias
:rolleyes:
numero = 12345
primero = numero / 10000; --> 1
aux = numero % 10000 --> 2345
segundo = aux / 1000 --> 2
aux = segundo % 1000 --> 345
tercero = aux / 100 --> 3
aux = segundo % 100 --> 45
etc......Donde puede hacer que quinto = aux cuando no se pueda dividir más, o simplemente utilizas quinto desde el principio....dependa de como se te haga más sencillo :smartass:
-
vale vale ahora lo e pillao thx xk taba probando rarezas y no e conseguia nada :/
-
a ver para inscribir un valor de 5 digitos entero que uso:
unsigned int o long?
Lo mejor sería que utilices Long.....
scanf y printf para capturar y mostrar el valor de esa variable
En realidad depende de si utilizas C o C++ (Puesto que en C++, se puedan utilizar dos formas).
En C:
-------
printf (Para escribir)
scanf(%*,variable) (Para leer) *No me acuerdo que va aquí :alien:
Mejor utiliza esto:
cout<< (Para escribir)
cin>> (Para leer).
Y listo.......
Blag :devil:
-
Pues lo e dicho como me as dicho y no me salia muy bien aki te pongo el codigo que me a quedado al final, pero por cierto si le pongo 55555 como numero no funciona bien :P
#include <stdio.h>
#include <conio.h>
int main()
{
clrscr();
int digit1, digit2, digit3, digit4, digit5, auxiliar, fdn;
printf("Introduce un numero de 5 digitos: ");
scanf("%d", &fdn);
printf("fdn(Five digit number) = %d\n", fdn);
digit1 = fdn / 10000;
auxiliar = fdn / 10000;
digit2 = auxiliar / 1000;
auxiliar = fdn / 1000;
digit3 = auxiliar / 100;
auxiliar = fdn / 100;
digit4 = auxiliar / 10;
auxiliar = fdn / 10;
digit 5 = auxiliar;
printf("%d %d %d %d %d", digit1, digit2, digit3, digit4, digit5);
return 0;
}
Pero lo dicho con este codigo si le pongo 55555 como numero el programa funciona mal :P como tengo k declarar las variables para que funcione bien?
-
Bueno pues ya esta, e rebuscando en el libro buscando lo del long y no sabia que se tenia que poner long int, pensaba que solo era long :P, e substituido todas las variables por long int (ahunque seguramente hay algunas como los 3 o 4 ultimos digits que se pueden declarar solo como int para ahorrar mempria pero weno de momento :P:P:P:P) y el % es %ld :P jeje de comento no e tocado las intrucciones de c++ ya que prefiero tener una base solida de c para empezar a tocar cosas de c++ de todas formas muchas gracias por tu ayuda :) :comp: