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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....  (Leído 12,976 veces)
cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
« Respuesta #10 en: 4 Abril 2008, 22:37 pm »

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???

excelente!! haces tu tarea, he trabajado con PHP, Java, VB, Pascal y C++, NUNCA con delphy aunque leí que era muy parecido a pascal.

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.

Dije que no era necesario en este CASO, PERO, que sin embargo NO objetaria sobre la inicializacion de las variables, sobre delphy no opino porque no lo conozco.

En fin... no puedo llevarte la contraria si no conozco el tema, por el momento...

Yo por mi parte nunca he tenido que hacerlo, solo cuando era extramadamente necesario.

¡Saludos! un placer discutir contigo, ja, ja.  :laugh:


En línea

BETA_V

Desconectado Desconectado

Mensajes: 131


HC


Ver Perfil
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos
« Respuesta #11 en: 7 Abril 2008, 17:33 pm »

¡Saludos! un placer discutir contigo, ja, ja.  :laugh:

Gracias¡¡¡jajajaj


En línea

dpunisher03

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
« Respuesta #12 en: 14 Abril 2008, 20:57 pm »

gracias por la ayuda me sirvio n
cierren el tema porfa ^^
En línea

caballero-maldito

Desconectado Desconectado

Mensajes: 39


in the dark side for ever


Ver Perfil
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
« Respuesta #13 en: 9 Marzo 2009, 22:49 pm »

en muchos lenguajes de programacion es necesario inicializar las variables con algun valor aunque este sea cero, si dudas intenta practicarlo en C cuando declaras las variables toman el valor del espacio en memoria que les asigna el sistema
si el siguiente codigo t da algun cero digo publicamente que soy gay  :xD (y aclaro no lo soy)

el programa solo muestra el valor de algunos espacios de la memoria, o dicho de otra forma muestra lo que guarda cada elemento del arreglo sin una asignacion o inicializacion previa.

#include<stdio.h>
#include<conio.h>
#define x 10
void main()
{
   int num
  • ;
   int i;
   clrscr();
   for(i=0;i<=x;i++)
   {
      printf("%d, ",i);
   }
}
   
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
« Respuesta #14 en: 11 Marzo 2009, 07:02 am »

En C :
Código
  1. #include <stdio.h>
  2. int main()
  3. {
  4.    signed int numero;
  5.    signed int digito_uno;
  6.    signed int digito_dos;
  7.    printf("Introduzca un numero mayor a 0 y menor a 100 : ");
  8.    scanf("%i", &numero);
  9.    if(numero > 0 && numero < 100)
  10.    {
  11.        if(numero > 10)
  12.        printf("\nTiene 2 digitos");
  13.        {
  14.        digito_dos = numero % 10;
  15.        numero /= 10;
  16.        digito_uno = numero % 10;
  17.        }
  18.        printf("\n%i%i", digito_dos, digito_uno);
  19.    } else {
  20.        printf("El numero no tiene 2 digitos\n");
  21.    }
  22.    return 0;
  23. }
  24.  
  25.  

Saludos.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
DarkItachi


Desconectado Desconectado

Mensajes: 516


Itachi Uchiha


Ver Perfil
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
« Respuesta #15 en: 9 Abril 2009, 12:15 pm »

Aqui el mio:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. main()
  5. {
  6.      int num, dgt;
  7.      while (1==1)
  8.      {
  9.            cout<<endl<<"Introduzca numero: ";
  10.            cin>>num;
  11.            cout<<endl;
  12.            if (num>0 && num<=100)
  13.            {
  14.                if (num<10) dgt=1;
  15.                if (num>9) dgt=2;
  16.                if (num==100) dgt=3;
  17.                break;
  18.            }
  19.            else
  20.            {
  21.                cout<<"Introduzca un numero valido!"<<endl; continue;
  22.            }
  23.      }
  24.      system("cls");
  25.      cout<<"El numero es: "<<num<<endl;
  26.      if (num==100)
  27.      {
  28.         cout<<"El numero invertido es 001."<<endl;
  29.      }
  30.      else if (num>=10)
  31.      {
  32.         int nvr, nvr2;
  33.         nvr=num % 10;      
  34.         nvr2=num/10;
  35.         cout<<"El numero invertido es " << nvr << nvr2 <<endl;
  36.      }
  37.      else if (num<10)
  38.      {
  39.           cout<<"El numero invertido es " << num<<endl;
  40.      }
  41.      cout<<"El Numero de digitos del numero es: "<<dgt<<endl;
  42.      system("pause");
  43. }
  44.  
En línea

Come to me when you have these eyes...

By more that you try it, a feather never will achieve to fly.
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
« Respuesta #16 en: 9 Abril 2009, 21:11 pm »

En Batch Script :
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :code
  4. set /p "numero=Numero : "
  5. if not defined numero (goto:code)
  6. if %numero% gtr 0 (
  7. if %numero% lss 100 (
  8. call:view %numero%
  9. goto:eof
  10. ) else (
  11. echo Mal.
  12. exit /b 1
  13. )
  14. )
  15. goto:eof
  16. :view
  17. set "numero=%1"
  18. set "numero2=%1"
  19. set /a "contador=0"
  20. :bucle
  21. if not defined numero (goto:end)
  22. set "numero=%numero:~1%"
  23. set /a "contador+=1"
  24. goto:bucle
  25. :end
  26. echo.%numero2% tiene %contador% digitos.
  27. set /a "contador-=1"
  28. echo.Invertido : %numero2:~-1%%numero2:~0,1%
  29. set /p ,=
  30. exit /b 0

Salida :

Código:
Numero : 73
73 tiene 2 digitos.
Invertido : 37
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Eliptico

Desconectado Desconectado

Mensajes: 153


Ver Perfil
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
« Respuesta #17 en: 27 Mayo 2009, 23:28 pm »

¿Y de esta forma?  ;D
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(int agrc,char* argv[])
  6. {
  7.    char numero[4]; /*para poder guardar 3 digitos*/
  8.    int num;
  9.    char i; /*un contador pequeñico para los bucles*/
  10.  
  11.    do{
  12.        printf("Introduce un numero entre 1 y 100, ambos incluidos: ");
  13.        fflush(stdin);
  14.        scanf("%d",&num);
  15.    }while(num<0 || num>100);
  16.  
  17.    sprintf(numero,"%d",num);
  18.  
  19.     printf("El numero tiene %d cifras.\n",strlen(numero));
  20.     printf("El numero invertido es: ");
  21.  
  22.     for(i=strlen(numero)-1;i>=0;i--)
  23.        printf("%c",numero[i]);
  24.     printf("\n");
  25.  
  26.     system("PAUSE");
  27.  
  28.    return 0;
  29. }
  30.  

Bueno, ya se que es C, pero se popdra transportar a C++ no?
« Última modificación: 28 Mayo 2009, 07:41 am por Eliptico » En línea

Eliptico

Desconectado Desconectado

Mensajes: 153


Ver Perfil
Re: necesito saber como ingresar 1 nº entero >0 y <=100 luego contar sus digitos....
« Respuesta #18 en: 28 Mayo 2009, 08:24 am »

Y aun otra forma mas divertida de hacerlo:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define MAX 10000
  5.  
  6. struct NodoEntero
  7. {
  8.    unsigned char cifra;
  9.    NodoEntero* Enlace;
  10. };
  11. typedef struct NodoEntero NodoEntero;
  12. typedef NodoEntero* ptrNodoEntero;
  13.  
  14. void push(ptrNodoEntero* Base,unsigned char valor);
  15. unsigned char pop(ptrNodoEntero*);
  16. char pila_vacia(ptrNodoEntero);
  17.  
  18. int main(int argc,char* argv[])
  19. {
  20.    int numero,numcifras=0,potenciaDiez=1;
  21.    ptrNodoEntero basePila=NULL;
  22.  
  23.    do{
  24.        printf("Introduce un numero entre 1 y %d (ambos incluidos): ",MAX);
  25.        fflush(stdin);
  26.        scanf("%d",&numero);
  27.    }while(numero<0 || numero>MAX);
  28.  
  29.    do{
  30.        push(&basePila,numero%10);
  31.        numero/=10;
  32.        numcifras++;
  33.    }while(numero!=0);
  34.  
  35.    printf("El numero tiene %d cifras\n",numcifras);
  36.  
  37.    do{
  38.        numero += potenciaDiez * pop(&basePila);
  39.        potenciaDiez*=10;
  40.    }while(!pila_vacia(basePila));
  41.  
  42.    printf("El numero invertido es: %d\n",numero);
  43.  
  44.    system("PAUSE");
  45. }
  46.  
  47. void push(ptrNodoEntero* Base,unsigned char valor)
  48. {
  49.    ptrNodoEntero NuevoNodo;
  50.  
  51.    NuevoNodo=(NodoEntero*)malloc(sizeof(NodoEntero));
  52.    NuevoNodo->cifra=valor;
  53.    NuevoNodo->Enlace=(*Base);
  54.    (*Base)=NuevoNodo;
  55. }
  56.  
  57. unsigned char pop(ptrNodoEntero* Base)
  58. {
  59.    ptrNodoEntero Aux;
  60.    unsigned char ret;
  61.  
  62.    Aux=(*Base);
  63.    ret=(*Base)->cifra;
  64.    (*Base)=(*Base)->Enlace;
  65.    free(Aux);
  66.  
  67.    return ret;
  68. }
  69.  
  70. char pila_vacia(ptrNodoEntero Base)
  71. {
  72.    return (Base==NULL ? 1 : 0);
  73. }
  74.  

Jejeje, a ver si cae otra forma....

¿Se nota que me aburro?

Un saludo!!!!!!!!!!!!!
« Última modificación: 28 Mayo 2009, 08:31 am por Eliptico » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines