2014-04-08 6 views
-1

4X4 보드를 만들려고하고 있는데 rand 함수를 사용하여 보드에 임의의 문자를 넣으려고합니다. 필자는 8 쌍의 문자가 필요하며 같은 문자를 두 개 이상 갖고 싶지 않습니다. 어떻게해야합니까? ... 성공하지 못한 많은 변형을 시도했습니다.C의 다차원 배열에 무작위 문자를 넣는 방법

도와주세요.

+2

시도한 코드를 게시하면 오류가 발견 될 수 있습니다. – brokenfoot

답변

1

내 대답이 정확히 원하는 것인지 확실하지 않습니다. 도움이되기를 바랍니다.

질문이 알고리즘 문제와 비슷합니다. 8 개의 임의의 문자 쌍을 찾고 각 쌍에 두 개의 다른 문자가 포함되어 있다고 가정 해 보겠습니다.

그런 다음 당신은 다음과 같이 수행 할 수 있습니다

  1. 인스턴스 A ~ Z를 들어, 당신이 사용할 수있는 모든 문자를 받기
  2. 하나 개의 배열을 생성하고 그 값은 두 개의 문자가 고유 문자 쌍 당신 사용하고 싶다. 중첩 루프를 사용하여이를 수행 할 수 있습니다.
  3. 배열에 포함 된 요소의 수를 기록하십시오. 값이 N이라고 가정합니다.
  4. 함수 rand()와 숫자 N을 사용하여 임의의 숫자 r1을 얻습니다.
  5. 어레이의 r1 위치에서 값을 가져 와서 보드에 넣으십시오.
  6. 배열의 마지막 요소로이 요소를 전환하십시오.
  7. 함수 rand()와 숫자 N-1을 사용하여 임의의 숫자 r2를 얻습니다. 그런 다음 5, 6 단계를 다시 수행하십시오.
  8. 원하는 8 쌍을 모두 얻으려면 4 단계에서 7 단계까지 수행하십시오.

16 개의 고유 한 문자 만 가져 오려면 2 단계를 무시하고 가능한 모든 문자가있는 배열을 유지하십시오.

'$', '%'등 이상한 문자를 원하면 ASC 값을 사용하십시오.

관련 문제