Pascal/Turbo Pascal - AYUDA URGENTE

 
Vista:

AYUDA URGENTE

Publicado por Sofía (15 intervenciones) el 27/10/2003 03:11:43
Hola, necesito por favor que me corrijan el siguiente problema:
Constrruir el algoritmo de una rutina que devuelva la ubicación de la k-ésima aparicion del valor de una variable en una arreglo de enteros (máximo 100 elementos), buscando de derecha a izquierda. En caso de no existir debe devolver 0
EJEMPLO
2/3/5/2/1/7/2/8/1/9
Elemento a buscar: 2--- K:4 Posicion 1
Elemento a buscar: 3----K:2 Posicion:0

Yo lo hice así, pero tengo duda sobre la k, ¿con que se inicia?
Tampoco tuve en cuenta el tema de la posición en 0 si no lo encuentra.
Muchas gracias
Tengo un examen el viernes y estoy DESESPERADA :-)
---------------------------------------------------------------------------------
Procedimiento BUSCARKESIMA (V:array, CE, DATO, K,por referencia: POS:entero, ENC:boolean)

VAR: I, C: ENTERO
COM
C<--0
ENC<-- FALSO
I<-- ce

MIENTRAS (C < K) Y ( I > 0) HACER
SI V[i ] = dato entonces
c<-- c+1
FINSI
i <- i-1
FINMIENTRAS

SI (C = K) Y (K >0) ENTONCES
ENC <-- VERDADERO
POS <-- I + 1
FINSI

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:AYUDA URGENTE

Publicado por wdlcs (5 intervenciones) el 27/10/2003 15:35:46
En tu ejemplo te has equivocado en lagunas cosas , el numero 2 no se repite k=4 veces sino 3 veces asi q debe devolver 0 segunla definicion de tu problema.

{en la seccion type haces esto:
unidimesional=array[1..100] of byte {o integer} }
procedure buscar_kesima(V:unidimensional; k,n:byte; var pos:byte)
var i,cont:integer;
begin
cont:=0;
for i:=100 downto 1 do
begin
if cont=k then break;
if v[i]=n then inc(cont);
end
if cont=k then pos:=cont
else pos:=0;
end;

Ojala esto funcione , no lo he probado aun ,pero creo q es asi , suerte.....
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

RE:AYUDA URGENTE

Publicado por SOFÍA (15 intervenciones) el 27/10/2003 17:29:30
Gracias, ahora lo probaré :-)
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