回答編集履歴

7

変数名変更

2020/01/08 22:33

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -46,11 +46,11 @@
46
46
 
47
47
  if (numbers[left] > numbers[left + 1]) {
48
48
 
49
- int tmp = numbers[left];
49
+ int temp = numbers[left];
50
50
 
51
51
  numbers[left] = numbers[left + 1];
52
52
 
53
- numbers[left + 1] = tmp;
53
+ numbers[left + 1] = temp;
54
54
 
55
55
  }
56
56
 

6

修正

2020/01/08 22:32

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- for right in range(N-1, 0, -1):
9
+ for right in range(N - 1, 0, -1):
10
10
 
11
11
  for left in range(right):
12
12
 

5

修正

2020/01/08 22:31

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- for right in range(N - 1, 0, -1):
9
+ for right in range(N-1, 0, -1):
10
10
 
11
11
  for left in range(right):
12
12
 

4

C言語に合わせて修正

2020/01/08 22:31

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- for right in range(len(numbers) - 1, 0, -1):
9
+ for right in range(N - 1, 0, -1):
10
10
 
11
11
  for left in range(right):
12
12
 

3

C言語と比較

2020/01/08 22:28

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -19,3 +19,53 @@
19
19
  print(numbers)
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ C言語と比較(データ入力は省略)
26
+
27
+
28
+
29
+ ```C
30
+
31
+ #include <stdio.h>
32
+
33
+
34
+
35
+ int main() {
36
+
37
+ int N = 10;
38
+
39
+ int numbers[] = {2,3,9,4,1,5,8,7,0,6};
40
+
41
+
42
+
43
+ for (int right = N - 1; right > 0; right--) {
44
+
45
+ for (int left = 0; left < right; left++) {
46
+
47
+ if (numbers[left] > numbers[left + 1]) {
48
+
49
+ int tmp = numbers[left];
50
+
51
+ numbers[left] = numbers[left + 1];
52
+
53
+ numbers[left + 1] = tmp;
54
+
55
+ }
56
+
57
+ }
58
+
59
+ }
60
+
61
+
62
+
63
+ for (int i = 0; i < N; i++)
64
+
65
+ printf("%d ", numbers[i]);
66
+
67
+ printf("\n");
68
+
69
+ }
70
+
71
+ ```

2

アルゴリズム修正

2020/01/08 22:27

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -6,13 +6,13 @@
6
6
 
7
7
 
8
8
 
9
- for left in range(len(numbers) - 1):
9
+ for right in range(len(numbers) - 1, 0, -1):
10
10
 
11
- for right in range(left + 1, len(numbers)):
11
+ for left in range(right):
12
12
 
13
- if numbers[left] > numbers[right]:
13
+ if numbers[left] > numbers[left + 1]:
14
14
 
15
- numbers[left], numbers[right] = numbers[right], numbers[left]
15
+ numbers[left], numbers[left + 1] = numbers[left + 1], numbers[left]
16
16
 
17
17
 
18
18
 

1

変数名変更

2020/01/08 22:15

投稿

shiracamus
shiracamus

スコア5406

test CHANGED
@@ -2,20 +2,20 @@
2
2
 
3
3
  N = int(input())
4
4
 
5
- number_list = list(map(int, input().split()))
5
+ numbers = list(map(int, input().split()))
6
6
 
7
7
 
8
8
 
9
- for i in range(len(number_list) - 1):
9
+ for left in range(len(numbers) - 1):
10
10
 
11
- for j in range(i + 1, len(number_list)):
11
+ for right in range(left + 1, len(numbers)):
12
12
 
13
- if number_list[i] > number_list[j]:
13
+ if numbers[left] > numbers[right]:
14
14
 
15
- number_list[i], number_list[j] = number_list[j], number_list[i]
15
+ numbers[left], numbers[right] = numbers[right], numbers[left]
16
16
 
17
17
 
18
18
 
19
- print(number_list)
19
+ print(numbers)
20
20
 
21
21
  ```