teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2017/07/16 17:45

投稿

退会済みユーザー
answer CHANGED
@@ -6,13 +6,14 @@
6
6
  {
7
7
  int i, j, t = 0;
8
8
  int a[100];
9
+ int l = sizeof(a) / sizeof(int);
9
10
 
10
11
  for(i = 0;i < 100; i++){
11
12
  a[i] = rand()%101;
12
13
  }
13
14
 
14
- for(i = 0; i < sizeof(a) / sizeof(int); i++){
15
+ for(i = 0; i < l; i++){
15
- for(j = 1; j < sizeof(a) / sizeof(int); j++){
16
+ for(j = 1; j < l; j++){
16
17
  if(a[j] > a[j + 1]){
17
18
  t = a[j + 1];
18
19
  a[j + 1] = a[j];

2

修正

2017/07/16 17:45

投稿

退会済みユーザー
answer CHANGED
@@ -12,7 +12,7 @@
12
12
  }
13
13
 
14
14
  for(i = 0; i < sizeof(a) / sizeof(int); i++){
15
- for(j = 0; j < sizeof(a) / sizeof(int) - 1; j++){
15
+ for(j = 1; j < sizeof(a) / sizeof(int); j++){
16
16
  if(a[j] > a[j + 1]){
17
17
  t = a[j + 1];
18
18
  a[j + 1] = a[j];

1

修正

2017/07/15 15:02

投稿

退会済みユーザー
answer CHANGED
@@ -11,8 +11,8 @@
11
11
  a[i] = rand()%101;
12
12
  }
13
13
 
14
- for(i = 0; i < 100; i++){
14
+ for(i = 0; i < sizeof(a) / sizeof(int); i++){
15
- for(j = 0; j < 99; j++){
15
+ for(j = 0; j < sizeof(a) / sizeof(int) - 1; j++){
16
16
  if(a[j] > a[j + 1]){
17
17
  t = a[j + 1];
18
18
  a[j + 1] = a[j];
@@ -130,4 +130,59 @@
130
130
  99
131
131
  99
132
132
  ```
133
- 見よう見まねでやってみました。
133
+ 見よう見まねでやってみました。
134
+ ```Ruby
135
+ # encoding: utf-8
136
+
137
+ a = Array.new(100).map { rand(100) }
138
+
139
+ a.size.times do
140
+ (a.size - 1).times do |x|
141
+ a[x], a[x + 1] = a[x + 1], a[x] if a[x] > a[x + 1]
142
+ end
143
+ end
144
+
145
+ p a
146
+
147
+
148
+ ```
149
+ Rubyバージョン
150
+ ```C#
151
+ using System;
152
+
153
+ namespace sort
154
+ {
155
+ class Program
156
+ {
157
+ static void Main(string[] args)
158
+ {
159
+ int[] a = new int[100];
160
+
161
+ int seed = Environment.TickCount;
162
+
163
+ for(int i = 0; i < 100; i++)
164
+ {
165
+ Random rand = new Random(seed++);
166
+ a[i] = rand.Next(100);
167
+ }
168
+
169
+ for(int i = 0; i < a.Length; i++)
170
+ {
171
+ for(int j = 0; j < a.Length - 1; j++)
172
+ {
173
+ if(a[j] > a[j + 1])
174
+ {
175
+ int t = a[j + 1];
176
+ a[j + 1] = a[j];
177
+ a[j] = t;
178
+ }
179
+ }
180
+ }
181
+
182
+ foreach(int i in a) Console.WriteLine(i);
183
+ }
184
+ }
185
+ }
186
+
187
+ ```
188
+ C# バージョン。