Autor
|
Tema: Programa en C de permutaciones (Leído 5,361 veces)
|
JuanJose97ortiz
Desconectado
Mensajes: 1
|
Hola necesito ayuda urgente como puedo hacer este programa en C: Escriba un programa que liste todas las permutaciones de ABCDEF en las que A aparece antes que D. Resulta que procedí a hacer el análisis del programa, pero no encuentro la forma de empezar a desarrollarlo, las entradas ya están pero no se como puedo empezar a hacer las permutaciones de las letras, cualquier aporte de como puedo ir desarrollándolo me serviría mucho, gracias
|
|
|
En línea
|
|
|
|
K-YreX
|
En google habrá muchos ejemplos de permutaciones en C. Y para controlar la condición de que A debe ir antes que D, calcula todas las permutaciones y haz una función que compruebe si eso se cumple o no y utiliza solo las permutaciones que lo cumplan.
|
|
|
En línea
|
cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
Para resolver problemas te aconsejo plantear primero el problema con los pasos que harías para serolverlo con un lapiz y un papel imitando tu pensamiento: Pongo las letras en el papel. ABCDEF Pongo todas las combinaciones posibles 1 por 1. ACBDEF ADBCEF AEBCDF AFBCDE
ABDCEF ABECDF ABFBCD ......
Que estás haciendo? Compara cada cadena con la original: ABCDEF ACBDEF Intercambiaste el elemento con índice [2] por el elemento con índice [1].
En la siguiente cadena? ABCDEF ADBCEF Intercambiaste la cadena anterior ACBDEF moviéndole el índice [3] por el índice [1]
En la siguiente cadena? ABCDEF AEBCDF
Intercambiaste la cadena anterior ADBCEF moviéndole el índice [4] por [1] AEBCDF
....
Ya encontraste un patron para parte del algoritmo. Si llamas al primer índice X = 2, solo tienes que cambiar la letra guardada en el indice [X] por la letra en el índice [1]. Puedes hacer una funcion a la qje le pases dos 2 numeros enteros y te devuelva un array con esas posiciones intercambiadas.
El bucle de momento sería: int x = 2; for (int i = 0; i < tamañoArray; ++i; { ArrayConLasLetras = FuncionCambioElementosArray(x, 1); ++x; }
Te falta comprobar la posición de los elementos para saber si hacerle printf. Te faltan permutaciones. Puedes ir comprobando paso por paso los resultados del programa e ir modificándolo paso a paso para que siga realizando otras permutaciones.
O seguir buscando "con el papel" el siguiente paso que deberías dar para sacar más permutaciones. Cuando las tenga todas observa si encuentras una operación matemática para calcular todas las permutaciones.
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ayuda] permutaciones .net
.NET (C#, VB.NET, ASP)
|
oscarj24
|
3
|
4,566
|
29 Abril 2011, 22:54 pm
por oscarj24
|
|
|
Problema con formula para generar permutaciones
Programación C/C++
|
Blaster
|
9
|
8,586
|
2 Enero 2014, 19:01 pm
por do-while
|
|
|
Programa de combinaciones y permutaciones en python
Ejercicios
|
jorgeeo_O
|
0
|
5,912
|
30 Octubre 2014, 23:19 pm
por jorgeeo_O
|
|
|
Permutaciones en C++
Programación C/C++
|
#Aitor
|
4
|
25,425
|
27 Mayo 2015, 08:18 am
por ginoob
|
|
|
Diccionarios de permutaciones?
Hacking Wireless
|
gado2612
|
1
|
3,422
|
9 Abril 2016, 14:19 pm
por tincopasan
|
|