Home     |     .Net Programming    |     cSharp Home    |     Sql Server Home    |     Javascript / Client Side Development     |     Ajax Programming

Ruby on Rails Development     |     Perl Programming     |     C Programming Language     |     C++ Programming     |     IT Jobs

Python Programming Language     |     Laptop Suggestions?    |     TCL Scripting     |     Fortran Programming     |     Scheme Programming Language


 
 
Cervo Technologies
The Right Source to Outsource

MS Dynamics CRM 3.0

C Programming Language

to print permutations...


Suppose we are having 3 variables...a,b,c
And we want to print the permutations of these variables...Such
as...abc,acb,bca...all 6 of them...
But we are not supposed to do it mannually...

I want to know that formula by which this can be possible...

Then that program will be ok for nnumber of variables....
Can anyone help me for that?

"Shraddha" wrote:
> Suppose we are having 3 variables...a,b,c
> And we want to print the permutations of these variables...Such
> as...abc,acb,bca...all 6 of them...
> But we are not supposed to do it mannually...

> I want to know that formula by which this can be possible...

> Then that program will be ok for nnumber of variables....
> Can anyone help me for that?

This might help

http://en.wikipedia.org/wiki/Permutations#Permutations_in_computing

It seems to have some "Pascalish" looking source code.

Because of the difficulties of handling templates, I would expect the source
code used by next_permutation ( or whatever) is in the \include\ directory
of your compiler.  I never actually looked, though.

On 5 26 ,   9 13 , Shraddha <shraddhajosh@gmail.com> wrote:

> Suppose we are having 3 variables...a,b,c
> And we want to print the permutations of these variables...Such
> as...abc,acb,bca...all 6 of them...
> But we are not supposed to do it mannually...

> I want to know that formula by which this can be possible...

> Then that program will be ok for nnumber of variables....
> Can anyone help me for that?

I think it's a algorithm problem. You should study the combination
mathematics. There is the algorithm for generating permutations in
this course.

The OP is flitting around amongst newsgroups, thus the C++ answer in a C
newsgroup.  Sorry.  The answer is formed with respect to a question and
answer the OP got a few days ago.

Shraddha wrote:
> Suppose we are having 3 variables...a,b,c
> And we want to print the permutations of these variables...Such
> as...abc,acb,bca...all 6 of them...
> But we are not supposed to do it mannually...

> I want to know that formula by which this can be possible...

> Then that program will be ok for nnumber of variables....
> Can anyone help me for that?

     Imagine that you had a function that would print
all the permutations of an array of N variables.  Can
you think of a way to use that function to print all
the permutations of an array of N+1 variables?

     Second question: Suppose N is equal to one.  Can
you think of a way to print all the permutations of
a one-element array?  If so, then by using the recipe
from the first paragraph you can find a method that
prints all the permutations of a two-element array.
Applying the recipe to that method gives you a way to
handle three-element arrays, then four, then five, ...

     A convenient way to express this in C is to turn
the problem around.  The recipe tells you how to permute
N elements if only you had a method for permuting N-1,
which you could do if you had a method for N-2, and so
on.  Eventually you get down to "If only I had a method
for permuting one element," which you'll need to solve
on your own.

     If that's not enough of a hint, you haven't been
paying enough attention in class.  Ask your teacher for
remedial help.

--
Eric sosman
esos@acm-dot-org.invalid

"Shraddha" <shraddhajosh@gmail.com> wrote in message

news:1180185229.464276.33190@z28g2000prd.googlegroups.com...
> Suppose we are having 3 variables...a,b,c
> And we want to print the permutations of these variables...Such
> as...abc,acb,bca...all 6 of them...
> But we are not supposed to do it mannually...

> I want to know that formula by which this can be possible...

> Then that program will be ok for nnumber of variables....
> Can anyone help me for that?

You've got N! permutations of a string.
So the manual approach breaks down at about 6, the computer approach at
something like N=15.

As the said, Eric Sosman bascially you need to take each element in turn,
then permute the remainder.

So code looks something like this

/*
  give user a nice wrapper, permute a string to an output
*/
void permute(char *str, FILE *fpout)
{
   char buff[20]; /* you will never need more than 20 characters unless you
have a really super duper computer */
  /* start with an empty prefix */
   strcpy(buff, "");
   permuter(buff, str, fpout);

}

/*
   real function is recursive. We print a prefix
*/
static  void permuter(char *prefix, char *str, FILE *fp)
{
   /* check for strings of length 1, print them (with prefix), and terminate
*/

   /* take each element of the string, add it to the prefix, then
       call permuter() on the remaining elements */
 }
--
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm

Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc