• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クイックソート後の出力(pascal))

クイックソート後の出力(pascal)

このQ&Aのポイント
  • クイックソートを行った整数データを出力する方法を教えてください
  • 20個の整数データをクイックソートして出力する方法を教えてください
  • クイックソート後のデータを出力する方法を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

んー、自分の手元では 質問にあるソースでは配列名の A と 通常変数名の aとが 衝突するのでコンパイルできないし、 名前を変えて衝突しないようにすると、コンパイルは通るのだけど $a < lll a: value out of range (error #300 at 4015e8) と実行時エラーになります。 使ったPascalコンパイラは gpc (GNU Pascal)です。 どうも partitionがうまくできてないような気がするんだけどなあ。 #時間がないので追いかけてないです ソートがきちんとできていれば >for i := 1 to n do writeln(A[i]) と最初考えたのですが でいいはずで、 元の内容と同じものが出たというのは元からソート済みのデータでもなければ プログラムがどっかおかしいということだと思います。

rurur
質問者

お礼

ありがとうございます。出力は↑のでいいのですか・・・他も、いろいろ確認します。(関数はほぼ教科書に載ってたとおりに書いたのになぁ・・・

その他の回答 (1)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

本当にコンパイルできてます? > var A : array[1..n] of integer; > i,x,a : integer; Pascalは大小文字を区別しないから、ここで変数の宣言が重複するはずなんだけど。 出力は writelnなりwriteでなにかもんだいがあるんでしょうか?

rurur
質問者

補足

確かにコンパイルは出来たのですが・・・明日確認してみます。 for i := 1 to n do writeln(A[i]) と最初考えたのですが、それだと始めの入力と同じものが出てきたので、並べ替えた順に出力するのはどうしたらいいのかな、と思ったのです。