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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Ejercicios / Contar dígitos con Pascal en: 13 Julio 2009, 00:56 am
Hola gente, tengo un problema con un ejercicio en pascal: estoy aprendiendo -hace un par de semanas, así que soy muy n00b- a programar, he conseguido unos ejercicios muy básicos por ahí, y los hice con bastante facilidad, hasta que me topé con uno que pedía lo siguiente:

Citar

Dado un número entero "x", contar la cantidad "c" de dígitos que lo forman. Ej: si c=343, entonces c=3; si x=-20, entonces c=2.


Lo que he hecho es lo siguiente:

Código
  1. program cuentadigitos;
  2.        var
  3.           c,d: integer;
  4.           x: real;
  5.        begin
  6.             writeln ('Para terminar ingrese "0"');
  7.             repeat
  8.                   c:=0;
  9.                   d:=0;
  10.                   readln (x);
  11.                   x:=x*10;
  12.                   repeat
  13.                         c:=c+1;
  14.                         x:=x / 10
  15.                   until abs (x)<10;
  16.                   repeat
  17.                         d:=d+1;
  18.                         x:=x*10
  19.                   until d=c;
  20.                   writeln ('El numero ',x,' esta formado por ',c,' digitos');
  21.             until x=0
  22.        end.

Pero tiene algunos defectos, primero, que "x" es real, en lugar de entero, y no es lo que pide el ejercicio, además la forma en que se muestran los reales en la consola es muy incómoda (si alguien sabe como quitar todos esos ceros le agradecería que me lo dijera :P); segundo, que no encuentro una forma de cerrar el programa que no sea introduciendo un número (en este caso, "0"), me interesaría por ejemplo que el programa terminase cuando se introduce "end". Y también tengo la sospecha de que hay formas más sencillas que ésta para contar dígitos...
Si alguien sabe como solucionar alguno de estos problemas, me le voy a estar muy agradecido.

Saludetes.

PD.: Los estoy viendo! no se rían de mi código, les avisé que soy muy n00b xD
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines