- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クイックソート後の出力(pascal))
クイックソート後の出力(pascal)
このQ&Aのポイント
- クイックソートを行った整数データを出力する方法を教えてください
- 20個の整数データをクイックソートして出力する方法を教えてください
- クイックソート後のデータを出力する方法を教えてください
- みんなの回答 (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]) と最初考えたのですが でいいはずで、 元の内容と同じものが出たというのは元からソート済みのデータでもなければ プログラムがどっかおかしいということだと思います。
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.1
本当にコンパイルできてます? > var A : array[1..n] of integer; > i,x,a : integer; Pascalは大小文字を区別しないから、ここで変数の宣言が重複するはずなんだけど。 出力は writelnなりwriteでなにかもんだいがあるんでしょうか?
質問者
補足
確かにコンパイルは出来たのですが・・・明日確認してみます。 for i := 1 to n do writeln(A[i]) と最初考えたのですが、それだと始めの入力と同じものが出てきたので、並べ替えた順に出力するのはどうしたらいいのかな、と思ったのです。
お礼
ありがとうございます。出力は↑のでいいのですか・・・他も、いろいろ確認します。(関数はほぼ教科書に載ってたとおりに書いたのになぁ・・・