Una comunidad orientada a la programación en general, tanto diseño Web como Aplicaciones y Sistemas. Todos los lenguajes estan permitidos.

Ver más
  • 134 Miembros
  • 25 Temas
  • 38 Seguidores
  • 0

¿Como hago una permutacion de un (array) en pascal?

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

Tambien puede ser la formula de la variacion... porque la permutacion es una variacion donde se toman todos los elementos del conjunto

una variacion es que de 1,2,3,4,5 formo grupos pequeños ejemplo (aqui estoy tomando 3)
123
124
145
y asi sucesivamente
las variaciones de un conjunto de 4 {a,b,c,d} deberian ser tomando 3 son 24 tomando 2 son 12 y asi porque permutacion es n! y variacion es n!/(n-m)! hay con repeticion y sin repetecion y son formulas distintas en este caso pregunto por sin repetecion.

for i:=1 to tam do
perm(i):=cadena(i);

pero no se como hacer para permutarlos... ejemplo si son 4 lentras o numeros deberian ser 24 permutaciones...
abcd
abdc
adbc
adcb
acbd
bacd
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. recuerdo que tiene que ser de cualquier cantidad N
porq ejmplo si yo inserto mi nombre permutara mi nombre
  • 0
  • 0Calificación
  • 1Seguidores
  • 150Visitas
  • 0Favoritos

0 respuestas

Tienes que ser miembro para responder en este tema