necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....

Iniciado por dpunisher03, 3 Abril 2008, 06:18 AM

0 Miembros y 1 Visitante están viendo este tema.

dpunisher03

hola a todos necesito saber como hacer el siguiente programa, si alguien me ayudaria estaria muy agradecido
1.- ingresar un nº entero >0 y <=100 luego contar sus digitos e invertir el digito
ejemplo ingresar el 12 y que diga que tiene 2 digitos y luego invertirlo e imrpimir el 21

ojala alguien me pueda ayudar ::)

BETA_V

espero que te sirva, es lo mas simple que se puede hacer
Código (delphi) [Seleccionar]

var
valor:integer;
begin
repeat
  readln(valor);
until (valor>0) and (valor<=100);
if valor>10 then writeln('Tiene 2 digitos')
  else writeln('Tiene 1 digito');
writeln(valor mod 10,'',valor div 10);
readln;
end.


dpunisher03

se me olvido decir que era en c++ usando solo secuencias de repeticion como while por do while if etc
si pueder ayudarme bkn

eLank0

Con el operador aritmético de módulo de C++ y un bucle while hasta que el valor inicial se convierta en 1 deberías tener suficiente.

S2

cassiani

Cita de: dpunisher03 en  3 Abril 2008, 23:13 PM
se me olvido decir que era en c++ usando solo secuencias de repeticion como while por do while if etc
si pueder ayudarme bkn

Aqui te lo dejo, adaptalo a tus gustos y preferencias:

Código (cpp) [Seleccionar]
//incluyendo librerias...
#include<stdio.h>   //--> para el printf, scanf
#include<conio.h>   //--> para el clrscr, getch

//Declarando variables globales
int numero, digito, digito2;

//Cuerpo principal del programa
void main()
{
while ((numero<1) || (numero>100))
{
//limpiamos pantalla cada vez que entremos al ciclo
clrscr();
printf("Introduzca un numero: ");
scanf("%d",&numero);
}

if (numero<10)
{
printf("Tiene 1 digito, invertido --> %d",numero);
}
else
{
if (numero>99)
{
printf("Tiene 3 digitos, Invertido --> 001");
}
else
{
digito=numero%10;
digito2=numero/10;
printf("Tiene 2 digitos, Invertido --> %d%d",digito,digito2);
}
}
getch();
}


Espero te sea de ayuda!

¡S4lu2!

BETA_V

hola¡¡ en vez de un while, lo haria con un do while,dado que primero tenes que ingresar un valor para verificar la condicion,en todo caso si usas un while ,tendrias que primero inicializar la variable para poder ingresar al bucle while¡¡¡ciaoo¡¡

cassiani

Cita de: BETA_V en  4 Abril 2008, 14:47 PM
hola¡¡ en vez de un while, lo haria con un do while,dado que primero tenes que ingresar un valor para verificar la condicion,en todo caso si usas un while ,tendrias que primero inicializar la variable para poder ingresar al bucle while¡¡¡ciaoo¡¡

No, no es necesario inicializar la variable antes de que entre al while, pues cuando fue declara se le asigno por defecto un "0" lo que garantiza que entrará por lo menos una vez al While.

Código (cpp) [Seleccionar]
int ejemplo;

void main()
{
printf("Valor inicial --> %d",ejemplo);
getch();
}

BETA_V

hola¡¡ inicializar los valores es una buena practica,y mas cuando programas en diferentes lenguajes,en pascal no vienen inicializadas las variables¡¡

cassiani

Cita de: BETA_V en  4 Abril 2008, 18:20 PM
hola¡¡ inicializar los valores es una buena practica,y mas cuando programas en diferentes lenguajes,en pascal no vienen inicializadas las variables¡¡

noo, no y disculpa que te corriga, el valor predeterminado de una variable de tipo INTEGER es siempre '0' y para muestra un botón:

Código (pascal) [Seleccionar]
Program Ejemplo;
Uses
    Crt;
Var
   Numero:Integer;
Begin
     Clrscr;
     textcolor(yellow);
     gotoxy(30,25);write('Valor predeterminado --> ',Numero);
     Readln;
End.


Por eso te digo que siempre entrará al ciclo, por lo menos en una ocasión. Aunque claro, no voy a objetar el hecho de inicializar las variables, como dices, es buena costumbre, pero NO NECESARIO en este caso.

¡S4lu2!

BETA_V

hola¡¡ el integer en delphi sin inicializar me devolvio  2147348480¡¡ :-\¡¡ mas haya de que si ingresaria en el bucle, no siempre va a tener una concion igual a esa¡¡ por eso veo conveniente explicar lo importante de inicializar las variables¡¡por ej cuando trabajas con objetos ,los constructores los obvias,,usas el constructor por defeccto???