Witam!
Załóżmy, że mamy ciąg 5,6,7,8,9,10,11,12,13,14,15 i chcę utworzyć wszystkie permutacje tego ciągu. Dodatkowo chciałbym zapamiętać pozycje bazowe, tak bym mógł z permutacji odtworzyć ten ciąg, z którego wyszedłem.
Jak to najkrócej zapisać?
Witam!
Załóżmy, że mamy ciąg 5,6,7,8,9,10,11,12,13,14,15 i chcę utworzyć wszystkie permutacje tego ciągu. Dodatkowo chciałbym zapamiętać pozycje bazowe, tak bym mógł z permutacji odtworzyć ten ciąg, z którego wyszedłem.
Jak to najkrócej zapisać?
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
short tb[]={5,6,7,8,9,10,11,12,13,14,15};
unsigned tbsize=sizeof(tb)/sizeof(*tb);
short *tbend=tb+tbsize;
while(next_permutation(tb,tbend))
{
for(short *p=tb;p<tbend;++p) cout<<(","+(p==tb))<<*p;
cout<<endl;
}
cin.sync();
cin.get();
return 0;
}
powrót do pierwotnej postaci: sort(tb,tbend);