小编adi*_*ain的帖子

是否可以在 cpp20 中制作范围向量

假设我有 aa vector<vector<int>>。我想ranges::transform以这样的方式使用我得到

vector<vector<int>> original_vectors;
using T = decltype(ranges::views::transform(original_vectors[0], [&](int x){
              return x;
          }));
vector<int> transformation_coeff;
vector<T> transformed_vectors;
for(int i=0;i<n;i++){
    transformed_vectors.push_back(ranges::views::transform(original_vectors[i], [&](int x){
        return x * transformation_coeff[i];
    }));
}
Run Code Online (Sandbox Code Playgroud)

目前在 C++ 中是否可以进行这样的转换或类似的转换?

我知道可以简单地存储transformation_coeff,但在每一步都应用它很不方便。(这将重复多次,因此需要在 中完成O(log n),因此我无法显式应用转换)。

c++ c++20 std-ranges

3
推荐指数
1
解决办法
278
查看次数

程序在遍历所有值之前离开循环

数组的i和j值不正确

我已经尝试检查i和j可能改变但没有看到任何地方的任何地方。

for (int i = 0; i<N; i++) {
    for (int j = 0; j<M; j++) {
        cin >> grid[j, i];

    }
}
for (int i = 0; i<N; i++) {
    for (int j = 0; j<M; j++) {
        cout << grid[j, i];

    }
    cout << "\n"
}
Run Code Online (Sandbox Code Playgroud)

我以n行和m列的表格形式提供了输入

2 1 1 1 -1 -1 -1 -1 
2 1 1 1 -1 -1 -1 -1
-1 1 1 1 -1 -1 -1 -1
-1 1 1 1 -1 -1 …
Run Code Online (Sandbox Code Playgroud)

c++

-4
推荐指数
1
解决办法
75
查看次数

标签 统计

c++ ×2

c++20 ×1

std-ranges ×1