作者nobodycares (沒人在乎)
看板C_and_CPP
標題Re: [問題] 九九乘法表不用迴圈是叫我直接從1列到81?
時間Sun Jul 22 16:44:23 2018
搞不好人家只是要你用stl跟c++11而已
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstdint>
int main() {
std::vector<int> one_to_nine(9);
int i = 1;
std::for_each(one_to_nine.begin(), one_to_nine.end(),
[&i](int& n) { n = i++; }
);
auto l = [&one_to_nine](int j) {
std::for_each(one_to_nine.begin(), one_to_nine.end(),
[&one_to_nine, j](const int i) {
std::cout << i << " x " << j << " = " << i * j << " ";
});
};
std::for_each(one_to_nine.begin(), one_to_nine.end(),
[&i, &l](int& n) {
l(n);
std::cout << std::endl;
});
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.50.60.32
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1532249065.A.F8C.html
噓 CoNsTaR: "C programs" 07/22 17:10
推 Schottky: 樓上,問題不在這吧 XDDDD 前面也是有人用 Template 07/22 17:15
推 LPH66: 第一個 std::for_each 可以改用 std::iota 07/22 18:57
→ LPH66: std::iota(one_to_nine.begin(), one_to_nine.end(), 1); 07/22 18:57
推 ilikekotomi: 推iota 上次也是看某位版大學到的 07/22 19:06