Aca LINK un usuario pidio lo siguiente:
[AYUDA]Para hacer un programa en c++ Hola a todos, veran, tengo que hacer un programa que haga permutaciones dado un numero , es decir, si ingreso el numero 3 me tendria que mostrar algo como esto: 123 132 213 231 312 321 y asi con cualquier numero que le introdusca. alguna idea de como hacer ese programa sin funciones complicadas? espero me ayuden.grasias de antemano
entonces agarre y en un par de minutos pude lograrlo.
Dandome como resultado este codigo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | // Ramón Berrutti ( http://www.ramonberrutti.com ) // main.cpp #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> void element_swap( char *buffer, size_t a, size_t b ); int main( int argc, char *argv[] ) { char *buffer; if( argc < 2 ) { printf("Uso:\n%s <numero>\n", argv[0] ); return 0; } size_t len = strlen( argv[1] ); buffer = (char*)malloc( len ); strcpy(buffer, argv[1] ); size_t opciones = 1; for( size_t i = 1; i <= len ; i++ ) { opciones *= i; } printf("Mostrando las %d Opciones:\n", opciones ); for( size_t i = 0; i < opciones ; i++ ) { printf("%s\n", buffer ); element_swap(buffer, i % (len-1), len - 1 ); } free( buffer ); return 0; } void element_swap( char *buffer, size_t a, size_t b ) { char temp = buffer[ a ]; buffer[ a ] = buffer[ b ]; buffer[ b ] = temp; } |
Cualquier inconveniente, dejen un comentario.



febrero 8th, 2011
ramon
Posted in