質問編集履歴

2

やってみたこと、不明な点を追加しました。

2020/07/12 11:36

投稿

Usagi365m
Usagi365m

スコア16

test CHANGED
File without changes
test CHANGED
@@ -24,11 +24,25 @@
24
24
 
25
25
 
26
26
 
27
- 追加文:基礎を学ぶめに、標準ライブラリ使って処理をしたいです。
27
+ 追加文:やっことはsort()qsort()などの標準ライブラリ使です。
28
+
29
+ しかし、一行目は入れ替えられるが、一行目をキーにして、二行目を呼び出し、入れ替えるにはどうしたらいいのか、アルゴリズムが思いつきません。
28
30
 
29
31
 
30
32
 
33
+     //参考にしたサイト
34
+
35
+     https://codezine.jp/article/detail/6020
36
+
37
+     http://stlalv.la.coocan.jp/sort.html
38
+
39
+
40
+
41
+ 追加文:基礎を学ぶために、標準ライブラリを使って処理をしたいです。構造体の一次配列でもOkです。
42
+
43
+
44
+
31
- 回答のほど、よろしくおねがいします!
45
+ 回答おねがいします!
32
46
 
33
47
 
34
48
 
@@ -70,6 +84,10 @@
70
84
 
71
85
  //sort(num[0],num[0] + n,greater<int>());これだとうまく行かない
72
86
 
87
+ //一行目を入れ替えて、同じになった数値をキーにして、二行目を比較して、入れ替える。
88
+
89
+      //といった部分が思いつきません。
90
+
73
91
 
74
92
 
75
93
  for(int i = 0;i < n;i++){

1

1:自分のてきる限りのソースコードを追加しました 2:ソートの条件を追加しました。

2020/07/12 11:36

投稿

Usagi365m
Usagi365m

スコア16

test CHANGED
File without changes
test CHANGED
@@ -22,4 +22,64 @@
22
22
 
23
23
  入力を受け付けるコードを打ち込んでから手が止まってしまいました。
24
24
 
25
+
26
+
27
+ 追加文:基礎を学ぶために、標準ライブラリを使って処理をしたいです。
28
+
29
+
30
+
25
31
  回答のほど、よろしくおねがいします!
32
+
33
+
34
+
35
+ ```C++
36
+
37
+ #include <iostream>
38
+
39
+ #include <algorithm>
40
+
41
+ #include <vector>
42
+
43
+ using namespace std;
44
+
45
+ int main(void){
46
+
47
+ int num[100][100];
48
+
49
+ int n;
50
+
51
+ cin >> n;
52
+
53
+ for(int i = 0;i < n;i++){
54
+
55
+ cin >> num[i][0] >> num[i][1];
56
+
57
+ }
58
+
59
+ /*
60
+
61
+ int num[3][2] = {{ 2, 2 }
62
+
63
+ { 2, 3 }
64
+
65
+ { 3, 1 }}
66
+
67
+ */
68
+
69
+ //sortやqsortを使ってみましたが、うまくいきませんでした
70
+
71
+ //sort(num[0],num[0] + n,greater<int>());これだとうまく行かない
72
+
73
+
74
+
75
+ for(int i = 0;i < n;i++){
76
+
77
+ cout << num[i][0] << " " << num[i][1] << endl;
78
+
79
+ }
80
+
81
+ return 0;
82
+
83
+ }
84
+
85
+ ```