回答編集履歴

2

追記

2022/01/03 05:11

投稿

wsb
wsb

スコア194

test CHANGED
@@ -1 +1,35 @@
1
- そこまで似ていないものをまとめられたとしても相当読みづらいコードになってしまうので、まとめないほうがいいと思います。そこまで分量もないし複雑さもないので
1
+ そこまで似ていないものをまとめられたとしても相当読みづらいコードになってしまうので、まとめないほうがいいと思います。そこまで分量もないし複雑さもないので
2
+
3
+
4
+
5
+ ---
6
+
7
+
8
+
9
+ それでもどうしてもやりたかったら、こんな感じで要件を満たすことはできます。
10
+
11
+ ```c
12
+
13
+ void nexthen(int *i, int *j, int plus) {
14
+
15
+ if ((*j + plus) >= v) {
16
+
17
+ *i += 1;
18
+
19
+ *j = *i + 1;
20
+
21
+ } else if ((*j + plus) <= *i) {
22
+
23
+ *i -= 1;
24
+
25
+ *j = v - 1;
26
+
27
+ } else {
28
+
29
+ *j += plus;
30
+
31
+ }
32
+
33
+ }
34
+
35
+ ```

1

誤った回答の修正

2022/01/03 05:11

投稿

wsb
wsb

スコア194

test CHANGED
@@ -1,23 +1 @@
1
- たところ`plus`は1か-1ののよので、そのまつかえば一つにるんじゃなでしょか。(可読性はずぶん落ちますが)
1
+ そこまで似ていないものをまとめられたとしても相当読づらいコードになってしまうので、まとめないいと思います。そこまで分量もないし複雑さもないので
2
-
3
-
4
-
5
- ```c
6
-
7
- void nexthen(int* i,int* j,int plus){
8
-
9
- if (*j + plus == v) {
10
-
11
- *i += plus;
12
-
13
- *j = *i + plus;
14
-
15
- } else {
16
-
17
- (*j) += plus;
18
-
19
- }
20
-
21
- }
22
-
23
- ```