手直しでなくて申し訳ありません。
トレース結果が正しく出力されません。正しく出力されるように・・・・
質問者殿は、どのような値を入力して、どのようなトレース結果になったのでしょうか?
入力値と正しくないトレース結果、及び 正しいトレース結果の提示を願います。
Like!
バブルソートでトレース結果も含めて、出力するプログラムを作りましたが、エラーは出ないのですが、トレース結果が正しく出力されません。正しく出力されるように手直しして頂きたいです。
入力
5
4 1 3 5 2
正しい出力結果
1 4 2 3 5
1 2 4 3 5
1 2 3 4 5
1 2 3 4 5
私のコードでの間違った出力結果
1 3 4 2 5
1 3 2 4 5
1 2 3 4 5
1 2 3 4 5
(入力、出力を書くのを忘れていました。すみません。)
エラーメッセージはありません。
def BUbblesort(A,N):
tmp = None
for i in range(N, 1, -1):
for j in range(i - 1):
if A[j] > A[j+1]:
tmp = A[j]
A[j] = A[j+1]
A[j+1] = tmp
print(*A)
N = int(input())
A = [int(x) for x in input().split()]
BUbblesort(A,N)
for文の範囲を変えてみましたが、出力結果は正しく出ませんでした。
手直しでなくて申し訳ありません。
トレース結果が正しく出力されません。正しく出力されるように・・・・
質問者殿は、どのような値を入力して、どのようなトレース結果になったのでしょうか?
入力値と正しくないトレース結果、及び 正しいトレース結果の提示を願います。
横から失礼します。
出力結果は正しく出ませんでした
というのが「発生している問題」なのだから、
「発生している問題・エラー」のセクションが「入力した内容」「出力された結果」を書くべき場所になります。
提示 ありがとうございます。
あら? クローズされてますね。
一応修正箇所 書いておきますね。
- for j in range(i - 1):
+ for j in range(N-i, N-1, 1 ):
@kiri___
Questionerご回答ありがとうございます。
自分で見つけて直すことが出来たので、クローズしました。