Pascal/Turbo Pascal - Recorrida circular

   
Vista:

Recorrida circular

Publicado por Mathi (6 intervenciones) el 11/11/2015 01:54:21
Que tal, necesito realizar una recorrida circular de char, de largo N,
AAAA, AAAB, AAAC... AAAZ -> AABA y asi, es en ordenación lexicográfica.

mi problema es el siguiente

AAZZ -> deberia dar ABBA, cuestion que me terminando dando ABA[

tipocodigo = array[1..N];

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure SiguienteCodigo(codigo: TipoCodigo; var siguiente: TipoCodigo);
type
	Conjunto = set of char;
var
	i: integer;
	Conj: Conjunto;
begin
	i:=1;
	siguiente:=codigo;
	Conj:=[PRIMERA_LETRA..ULTIMA_LETRA];
	 while (i <> LargoCodigo) and (codigo[i] in Conj) do
		begin
		if (codigo[i] <> ULTIMA_LETRA) and (codigo[i] in Conj) then
		siguiente[LargoCodigo]:=Succ(codigo[LargoCodigo]);
		if codigo[i]=ULTIMA_LETRA then
			begin
				siguiente[i-1]:=succ(codigo[i-1]);
				siguiente[i]:=PRIMERA_LETRA;
			end;
		inc(i)
		end;
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

Recorrida circular

Publicado por ramon (2072 intervenciones) el 13/11/2015 16:26:31
Para mejor respuesta pasa todo el proceso que tengas realizado
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