プロが教えるわが家の防犯対策術!

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

A 回答 (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を加えます。
頑張ってプログラムにしてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/05/12 02:10

これって課題じゃないんですか?



言語の指定がないので,ぴゅう太風の言語で書いときます.

はじめ
 カウンタのリセット
 jに関するループ(jは0からnー1までかわる){
  a[i]とa[j]をくらべて,条件にあうときカウンタを増やす
 }
 カウンタの値を出力
おわり
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/05/12 02:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!