Pascal/Turbo Pascal - necesito ayuda con un algoritmo es urgente x favor

   
Vista:

necesito ayuda con un algoritmo es urgente x favor

Publicado por desesperado (1 intervención) el 19/01/2009 13:26:23
Hola!
Necesito ayuda para calcular un algoritmo que calcule los números que hay en un rango de números.
Me explico, se trata de hacer un algoritmo que dado un rango de números (entre 1 y 100, entre 1 y 10000, ...) halle las veces que el número x se repite, de forma que, si nos dieran el numero 19, y nos pidieran el numero de veces que sale entre 1 y 200, seria: el numero 19, el 190, el 191, el 192, el 193, ..., pero no el 189, ya que aunque aparecen el 1 y el 9 no aparece el 19.

Por favor necesito que me ayudeis porque estoy perdidisimo y por mas vueltas que le doy soy incapaz de sacar como hacerlo, cualquier tipo de ayuda podria serme util por favor ayudadme!! Es urgente
Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:necesito ayuda con un algoritmo es urgente x fa

Publicado por Willy (181 intervenciones) el 27/01/2009 05:13:01
Hola Desesperado.
Te hice un programilla para resorver esto pero me gustaría que lo entendieras.
1. La función Str convierte un número en una cadena
2. La función Pos nos da la posición inicial de la primera aparición de una subcadena o bien 0 si no aparece ninguna vez. Ejemplo: Pos('cad', cadena) sería igua a 1, 'de' sería igual a 4, 'na' sería igual a 5, 'ab' sería igual a 0.

He aquí: (Saludos!)

Uses Crt;
Var I, Contador : Integer;
Cadena, Diezynueve : String;
Begin
ClrScr;
Contador := 0;
Diezynueve := '19';

Writeln('Calcularemos el numero de veces que aparece el 19 de 1 a 200');
Writeln('Presione una tecla cuando este listo...');
Writeln('Puede usar la tecla PAUSA si desea detener para ver..');

ReadKey;

For I := 1 to 200 do
begin
Str(I, Cadena);
if pos(Diezynueve, Cadena) <> 0 then Contador := Contador + 1;
Writeln('Numero: ',Cadena,' Van ',Contador,' veces');
delay(100);
end;

Write('El numero de veces que aparecio el 19 es: ',Contador);
ReadKey

End.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar