C++
1#include <utility> // std::pair
2#include <numeric> // std::iota
3#include <iterator> // std::begin, std::end
4#include <iostream>
5
6// pair<int,int>::first をインクリメントするためのヘルパー
7struct seq_pair : std::pair<int,int> {
8 seq_pair& operator++() { ++first; return *this; }
9 seq_pair(int n) : std::pair<int,int>(n,0) {}
10};
11
12int main() {
13 const int N = /* 100010 */ 10;
14 std::pair<int,int> P[N];
15
16 // P[N] を(1,0), (2,0), ... (N,0) で埋める
17 std::iota(std::begin(P), std::end(P), seq_pair(1));
18
19 // デキタカナ?
20 for ( auto item : P) {
21 std::cout << item.first << ',' << item.second << std::endl;
22 }
23
24}
25
26/* 実行結果
271,0
282,0
293,0
304,0
315,0
326,0
337,0
348,0
359,0
3610,0
37*/
[追記] 別解:
C++
1#include <utility> // std::pair
2#include <algorithm> // std::generate_n
3#include <iostream>
4
5int main() {
6 const int N = /* 100010 */ 10;
7 std::pair<int,int> P[N];
8
9 // P[N] を(1,0), (2,0), ... (N,0) で埋める
10 int i = 1;
11 std::generate_n(P, N,
12 [&]() { return std::pair<int,int>(i++,0); });
13
14 // デキタカナ?
15 for ( auto item : P) {
16 std::cout << item.first << ',' << item.second << std::endl;
17 }
18
19}