Q&A

  • random 알고리즘..
1-100까지 수가 주어지는데 이것을 배열에
random 하게 들어가게 하려고 하거든여?

비교를 하면 99번을 비교하는 경우가 생기기 때문에...그렇게 말고여..

1-100, 1-1000 등등 이것을 한번에 랜덤하게 전부 집어넣는 방법점......
1  COMMENTS
  • Profile
    최용일 2002.05.08 21:27
    안녕하세요. 최용일입니다.

    아래와 같이 해보세요...

    var
        Source: TStringList;
        Dest: array[0..99] of Integer;
        Index, RandIndex: Integer;
    begin
        // 초기화
        Randomize;
        Source := TStringList.Create;
        for Index := 0 to 99 do
          Source.AddObject('', TObject(Index));

        // 랜덤하게 배열에 저장하기
        for Index := 99 downto 0 do
        begin
            RandIndex := Random(Index + 1);
            Dest[Index] := Integer(Source.Objects[RandIndex]);
            Source.Delete(RandIndex);
        end;
        // ...
        Source.Free;

        // ListBox1에 보여주기
        for Index := 0 to 99 do
            ListBox1.Items.Add(IntToStr(Dest[Index]));
    end;

    ^^ 항상 즐코하세요...