gente y si quiero por ejemplo dar una cadena de 3 caracteres y que los permute por ejemplo :
mar
mmaarr
mmmaaarrr
y asi sucesivamente seria algo asi
- #include <cstdlib> 
- #include <iostream> 
-   
- using namespace std; 
-   
- int main(int argc, char *argv[]) 
- { 
-     char arreglo [1000]; 
-     char arreglo1[1000]; 
-     char arreglo2[1000]; 
-     char arreglo3[1000]; 
-     int cont,k; 
-   
-     cout<<"INGRESE VALOR A GENERAR"<<endl; 
-     cin>>k; 
-     cout<<"INGRESE CADENA A EVALUAR"<<endl; 
-     cin>>arreglo; 
-                  for ( cont=0 ; cont<k ; cont++ ) 
-                  { 
-                     arreglo1[cont]=arreglo[0]; 
-                     arreglo2[cont]=arreglo[1]; 
-                     arreglo3[cont]=arreglo[2]; 
-                     cout<<arreglo1<<arreglo2<<arreglo3<<endl; 
-   
-                  } 
-   
-   
-     system("PAUSE"); 
-     return EXIT_SUCCESS; 
- } 
-   
-   
pero no se lo que pasa cuando ingreso por ejemplo en el k =10 e ingreso la palabra mar esto sale :
mar
mmaarrU
mmmaaarrr
mmmmàáâã($>aaaaÔ÷"rrrrV
mmmmmáâã($>aaaaa÷"rrrrr
mmmmmmâã($>aaaaaa"rrrrrrW
mmmmmmmã($>aaaaaaarrrrrrr
mmmmmmmm($>aaaaaaaarrrrrrrrX
mmmmmmmmm$>aaaaaaaaarrrrrrrrr
mmmmmmmmmm>aaaaaaaaaarrrrrrrrrrY
me salen otros caracteres a que se deve gracias de antemano por  todo ....