• ベストアンサー

プログラミングなのですが

 n個の値 a〔0〕、a〔1〕、・・・、a〔n-1〕が与えられている時、 a〔i〕の順位rを求めるプログラミングなのですが、順位は自分より大きいものの個数+1ということです。お願いします。

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

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

順位付けのプログラムですね。C言語のようですね。 課題のようなのでヒントだけにしましょう。 > 順位は自分より大きいものの個数+1ということです。 この意味がわかっていますか。降順に順位を付けようとしています。 全員で総当たり戦をやって、負けた数だけ顔に墨を塗られるとします。(羽子板のように) 全く負けなかった人は(1位)顔に墨がありません。1位ということは負けた数+1ですね。 順位のカウントエリアをk[n]で定義し、事前に全て1を入れて置きます。 次に、総当りのやり方です。ループを2つ使います。(i,jとします。) 方法は2つあります。10人の時を例に採ります。 (1)10×10=100回のループでa[i]<a[j]のときだけk[i]に1を加えます。 (2)i=0,8とj=i+1,9の2重ループを使い    a[i]<a[j]ならk[i]に1を加え、    a[i]>a[j]ならk[j]に1を加えます。 頑張ってプログラムにしてください。

goosasuke
質問者

お礼

ありがとうございます。頑張ってやってみます。

その他の回答 (1)

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

これって課題じゃないんですか? 言語の指定がないので,ぴゅう太風の言語で書いときます. はじめ  カウンタのリセット  jに関するループ(jは0からnー1までかわる){   a[i]とa[j]をくらべて,条件にあうときカウンタを増やす  }  カウンタの値を出力 おわり

goosasuke
質問者

お礼

一応、過去問研究だったんですが、頑張ってやってみたいと思います。 ありがとうございました。

関連するQ&A