Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > to print permutations...

Reply
Thread Tools

to print permutations...

 
 
Shraddha
Guest
Posts: n/a
 
      05-26-2007
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?

 
Reply With Quote
 
 
 
 
osmium
Guest
Posts: n/a
 
      05-26-2007
"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/Permuta...s_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.


 
Reply With Quote
 
 
 
 
kingfox
Guest
Posts: n/a
 
      05-26-2007
On 5 26 , 9 13 , Shraddha <(E-Mail Removed)> 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.

 
Reply With Quote
 
Eric Sosman
Guest
Posts: n/a
 
      05-26-2007
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
http://www.velocityreviews.com/forums/(E-Mail Removed)lid
 
Reply With Quote
 
osmium
Guest
Posts: n/a
 
      05-26-2007
"osmium" writes:

> "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/Permuta...s_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.


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.


 
Reply With Quote
 
Malcolm McLean
Guest
Posts: n/a
 
      05-26-2007

"Shraddha" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ups.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

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
print a vs print '%s' % a vs print '%f' a David Cournapeau Python 0 12-30-2008 03:19 AM
Problem - I want to print Current Output of Pdf file and should print once.I get print dialog box but it is not working keto Java 0 05-30-2007 11:27 AM
Can't print to print server =?Utf-8?B?cGVjaw==?= Wireless Networking 2 02-03-2005 02:41 PM
How to make use of "print to file" option by print =?Utf-8?B?enljZ3M=?= MCSE 1 01-04-2005 06:50 PM
Unlarging the print to print using PDF file to print Bun Mui Computer Support 3 09-13-2004 03:15 AM



Advertisments