Как я могу создать декартово произведение вектора векторов?

У меня вектор векторов, например, vector > items разных размеров, например следующим образом

1,2,3
4,5
6,7,8

Я хочу создать комбинации в терминах декартова произведения этих векторов, например

1,4,6
1,4,7
1,4,8
and so on till
3,5,8

Как я могу это сделать? Я просмотрел несколько ссылок, и я также перечислил их в конце этого сообщения, но я не могу это интерпретировать, так как я плохо знаком с языком. Может ли какое-нибудь тело помочь мне с этим.

#include 
#include 
#include 

using namespace std;

int main()
{
    vector > items;
    int k = 0;

    for ( int i = 0; i < 5; i++ ) {
        items.push_back ( vector() );

        for ( int j = 0; j < 5; j++ )
            items[i].push_back ( k++ );
    }

    cartesian ( items ); // I want some function here to do this.
}

Эта программа имеет векторы одинаковой длины, и я поместил это так, чтобы было легче понять мою структуру данных. Это будет очень полезно, даже если кто-то использует ответы других людей по другим ссылкам и интегрируется с ними для получения результата. Большое спасибо

Пара ссылок, которые я просмотрел один Два Программа из: программа

20
задан Community 23 May 2017 в 11:54
поделиться