Короче. Вот код.
def matrix_gen(gen, n, m): Matrix = []; for i in range(n): a = []; for j in range(m): a.append(gen[j]); Matrix.append(a); return Matrix;Объяснение
Сначало ты инициализируешь функицю с названием "matrix_gen", которая принимает 3 параметра, 'gen' -- это генератор которые ты будешь использовать. 'n' & 'm' это размер матрицы.
Второй строчкой ты инициалихируешь пустой массив, которые похже заполнишь. Третей строчкой ты в for цикле обходишь все строки матрицы, они же подмассивы массива Matrix, просто 'a'. Делаем мы это 'n' раз.
Четвётрой строчкой ты инициализируешь массив(ы, мы в цикле) 'a', и следующей строчкой заполняешь уже его. Так же в for цикле. Всего в нём будет 'm' элементов.
Надеюсь решение правильное. Честно говоря у тебя вопрос очень странно поставлен.
о повезло повезло, пару минут назад эту же задачу решил :
#include <iostream>
#include <vector>
using namespace std;
void make_matrix(vector<vector<int>> &v){
int n = v.size(), m = v.front().size(), cur = 0;
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
v[j][i] = cur;
cur++;
}
}
}
void print_matrix(vector<vector<int>> &v){
int n = v.size(), m = v.front().size();
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++)
cout << v[i][j] << " ";
cout << "\n";
}
}
signed main(){
int n, m;
cin >> n >> m;
vector<vector<int>> a(n, vector<int> (m));
make_matrix(a);
print_matrix(a);
}