掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
配列の順位付け (ID:149940)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
procedure TForm1.Button1Click(Sender: TObject); var I,J,JJ: Integer; IND: array of Integer; //INDEX TEN: array of Integer; //点数 JUN: array of Integer; //順位 X: Integer; begin SetLength(IND,10); SetLength(TEN,10); SetLength(JUN,10); TEN := [50,30,10,100,70,60,20,40,50,30]; X := 0; //INDEX(元に戻す用) for I:= 0 to High(TEN) do begin IND[I] := I; end; //SORT(点数でSORT) for I := 0 to High(TEN) do begin for J:=0 to High(TEN) do begin if I <> J then begin if TEN[I] > TEN[J] then begin JJ := TEN[J]; TEN[J] := TEN[I]; TEN[I] := JJ; JJ := IND[J]; IND[J] := IND[I]; IND[I] := JJ; end; end; end; end; //順位付け X := TEN[0]; J := 1; JUN[0] := J; JJ := 1; for I:= 1 to High(TEN) do begin if TEN[I] < X then begin J := J + JJ; X := TEN[I]; JJ := 1; end else begin JJ := JJ + 1; end; JUN[I] := J; end; //SORT(INDEXでSORTして元に戻す) for I := 0 to High(TEN) do begin for J:=0 to High(TEN) do begin if I <> J then begin if IND[I] < IND[J] then begin JJ := TEN[J]; TEN[J] := TEN[I]; TEN[I] := JJ; JJ := JUN[J]; JUN[J] := JUN[I]; JUN[I] := JJ; JJ := IND[J]; IND[J] := IND[I]; IND[I] := JJ; end; end; end; end; Memo1.Clear; for I:= 0 to 9 do begin Memo1.Lines.Add(IntToStr(TEN[I]) + ' ' + IntToStr(JUN[I]) + ' ' + IntToStr(IND[I])); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.