したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

test

5名無しさん:2009/07/01(水) 12:47:49
  /*** 点数順に並び替える (選択ソート) ***/
&nbsp;&nbsp;for (i = 0; i < Num-1; i++) {
&nbsp;&nbsp;&nbsp;&nbsp;/*** 順位 p を i で初期化 ***/
&nbsp;&nbsp;&nbsp;&nbsp;for (p = j = i; j < Num; j++) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*** 自分と全員の得点を比べ自分より高い得点の人がいたら ***/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if( *( point_ptr + j ) > *( point_ptr + p ) ){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*** 順位 p を j にする ***/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p = j;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;/* i と 順位 p と入れ替える */
&nbsp;&nbsp;&nbsp;&nbsp;S = *(point_ptr + i), *(point_ptr + i) = *(point_ptr + p), *(point_ptr + p) = S;
&nbsp;&nbsp;&nbsp;&nbsp;S = *(number_ptr + i), *(number_ptr + i) = *(number_ptr + p), *(number_ptr + p) = S;
&nbsp;&nbsp;}

&nbsp;&nbsp;/*** 順番に並んでいるものの順位を調べる ***/
&nbsp;&nbsp;*(rank_ptr) = p = 1;
&nbsp;&nbsp;for (i = 1; i < Num; i++) {
&nbsp;&nbsp;&nbsp;&nbsp;if( *(point_ptr + i-1) > *(point_ptr + i))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p = i+1;
&nbsp;&nbsp;&nbsp;&nbsp;*(rank_ptr + i) = p;
&nbsp;&nbsp;}

&nbsp;&nbsp;printf(" 番号 得点 順位\n");
&nbsp;&nbsp;/*** 結果出力 ***/
&nbsp;&nbsp;for (i = 0; i < Num; i++) {
&nbsp;&nbsp;&nbsp;&nbsp;printf("%6d%6d%6d\n", *(number_ptr + i), *(point_ptr + i), *(rank_ptr + i));
&nbsp;&nbsp;}
&nbsp;&nbsp;free(number_ptr);
&nbsp;&nbsp;free(point_ptr);
&nbsp;&nbsp;free(rank_ptr);
&nbsp;&nbsp;return(0);
}


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板