Sunday, August 2, 2009

I need a C language program that prints all the combinations of characters from a string?

example : if the string is ABC, then all the possible combinations of A, B %26amp; C are :


ABC,ACB,BCA,BAC,CAB,CBA

I need a C language program that prints all the combinations of characters from a string?
Here is something I came up with quickly ( not fully complete, I will leave that to you ! )





This quick bit of code will give you a start ( hopefully and no recursion ).





Please note that this is not complete and you will get a memory leak in swap function ( easily fixed btw ! ).





#include "stdafx.h"


#include "stdio.h"


#include "string.h"





void manipulate( char* pString, int index );


char* swap( char* pString, int pos );





char pod[255];








int main(int argc, char* argv[])


{





char* p = "abc";


memcpy( pod, p, strlen( p ) );


for( int i = 0; i %26lt; strlen( p ); i ++ )


{


manipulate( pod, strlen( p ) );


}


return 0;


}








void manipulate( char* pString, int index )


{


int i = 1;


char* p;


p = pString;


while( index %26gt; 1 )


{


p = swap( p, i );


index--;


i++;


memcpy( pod, p, strlen( pString ) );


printf( "%s\n", p );


}


}





char* swap( char* pString, int pos )


{


char* p = new char[ strlen(pString) + 1 ];


memset( p, '\0', strlen( pString ) + 1);


memcpy( p, pString, strlen( pString ) + 1 );


char temp = p[pos];


p[pos] = pString[pos-1];


p[pos-1] = temp;


return p;


}
Reply:do your homework now, kid.... its for you to learn





if you're still desperate, contact me privately... shall be glad to teach you C


No comments:

Post a Comment