¿Como hago una permutacion de un arreglo (array) en pascal?
Publicado por adi (4 intervenciones) el 13/07/2011 17:15:30
Hola estoy tratando hacer en pascal un programa que permute las letras o numero o lo que sea insertados por el usuario... yo por ejemplo declare una cadena y si inserto (hola) con algo asi
Tam es el tamaño de la cadena medido con un LENGTH
for i:=1 to tam do
perm[i]:=cadena[i];
pero no se como hacer para permutarlos... ejemplo si son 4 lentrs o numeros deberian ser 24 permutaciones...
abcd
abdc
adbc
adcb
acbd
bacd
badc
y asi
intente con algo asi
for i:=1 to totalp do
begin
x1:=x-1;
aux:=perm[x];
perm[x]:=perm[x1];
perm[x1]:=aux;
writeln(perm);
x:=x-1;
IF X<2 THEN
X:=TAM;
pero por la mitad ya se repiten u.u
si m pueden ayudar agradeceria
Tam es el tamaño de la cadena medido con un LENGTH
for i:=1 to tam do
perm[i]:=cadena[i];
pero no se como hacer para permutarlos... ejemplo si son 4 lentrs o numeros deberian ser 24 permutaciones...
abcd
abdc
adbc
adcb
acbd
bacd
badc
y asi
intente con algo asi
for i:=1 to totalp do
begin
x1:=x-1;
aux:=perm[x];
perm[x]:=perm[x1];
perm[x1]:=aux;
writeln(perm);
x:=x-1;
IF X<2 THEN
X:=TAM;
pero por la mitad ya se repiten u.u
si m pueden ayudar agradeceria
Valora esta pregunta
0