• 締切済み

大至急お願いします

下記のプログラムが終了した時点でのj の値を示しなさい。 リストの初期値 L[1] 35 L[2] 10 L[3] 24 L[4] 22 L[5] 28 L[6] 14 L[7] 30 L[8] 8 i = 1; j = 8; sv = 22; while ( i <= j ) { while ( L[ i ] < sv ) i = i + 1; while ( L[ j ] > sv ) j = j - 1; if ( i <= j ) { temp = L[ i ] ; L[ i ] = L[ j ] ; L[ j ] = temp; i = i +1; j = j - 1; } } jは28になるのが正しいですか? 初期値は横一列に並んでましたが、横にしたら文章がずれてしまうので、縦一列にしました。

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.4
  • ferien
  • ベストアンサー率64% (697/1085)
回答No.3

>jは28になるのが正しいですか? j=3 だと思います。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

>jは28になるのが正しいですか? という問いに対する答えは、「正しくない」です。 理由:j の初期値は8である。また、j の値を変更するコードは >while ( L[ j ] > sv ) j = j - 1; >j = j - 1; } 上記2箇所だけであり、そのいずれも j の値を減らしている。 よって、j が28になることはない。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

数学とどういう関係があるのかよくわかりません。 何かのプログラミング言語で書かれているようですが、実行する環境をお持ちであれば、 提示のコードを実行した後で変数 j の値を出力するようなコードを追加すればすむと思います。

関連するQ&A