**Proszę o pomoc w poprawieniu kodu.
Mam wczytać liczbę X, a następnie liczby naturalne w kolejności rosnącej. Oznaczmy je jako k. I dla każdej liczby k program ma wypisać k-tą leksykograficznie permutację liczb 1,..,X. Jeśli podana liczba przekracza liczbę permutacji, program powienien zakończyć pracę.
Na razie napisałem tylko tyle i nie wiem, jak ruszyć dalej. W dodatku poniższy kod nie działa jak powinien. Proszę o wskazówki, bądź konkretne poprawienie programu. Czytałem w internecie, że mogę skorzystać z funkcji next_permutation, ale nie jestem, aż tak zaawansowany i niezbyt rozumiem kod tej funkcji.
Podrawiam:)
#include <iostream>
using namespace std;
int main()
{
int N, k, i, j, m, t;
cin >> m;
i=m-1;
int tab[i];
while((i>0) && (tab[i-1] >= tab[i]))
i--;
if(i>0)
{
j=m;
while((j>0) && (tab[j-1] )<= tab[i-1])
{
j--;
}
}
if(i>0 && j>0)
{
k=tab[i-1];
tab[i-1]=tab[j-1];
tab[j-1]=k;
}
for(i++, j=m; i<j; i++, j--)
{
k=tab[i-1];
tab[i-1]=tab[i-j];
tab[j - 1] = k;
}
}