Windows 응용 프로그램에서 작업하고 있습니다. 이 앱은 양식에 표시되는 동적 이름 목록을 포함합니다 (사용자가 특정 이름을 추가하거나 삭제할 수 있음). 내가 원하는 것은 db의 각 이름이 목록의 다른 임의의 이름을 갖고 있기 때문입니다. 유일한 조건은 각 이름에 대해 서로 다른 이름을 지정해야하며 모든 이름을 한 번만 사용해야한다는 것입니다.특정 임의의 이름을 선택하는 방법
내가 시도한 것은 List를 사용하여 db의 이름을 포함하고 List에서 임의의 인덱스를 선택하고 db의 해당 위치와 비교하는 것입니다. 다른 경우에는 해당 색인에서 제거하고 더 이상 이름을 지정할 필요가 없을 때까지 계속 수행하십시오.
그러나 그 후 나는 그것을하는 완벽한 방법이 아니라는 것을 깨달았습니다.
이름 1 무작위 이름 3 이름이 도착, 나는 5 개 이름을 가지고,의가 있다고 가정 해 봅시다 무작위로 이름 1 이름 3을 얻는다 무작위로 이름을 4 이름 4를 얻을 무작위로 이름이 및 ... 이름 (5)을 얻는다 이름 5 만 얻을 수 있으므로이 경우에는 작동하지 않습니다.
누구나 내가 어떻게 작동하게 할 수 있는지 알 수 있습니까? 다른 어떤 방법을 사용해야합니까? 이름의 수는 약 20입니다. 나중에 각 이름에 2 개의 다른 이름을 지정해야합니다. 하지만 처음에는이 문제를 해결해야합니다.
도움이 될 것입니다! C로 작성 중입니다.
데이터베이스의 수 (이름)를 확인한 경우 어떻게됩니까? count (Names) % 2 == 0이면 일치하는 함수 (Names/2)를 실행하고, 그렇지 않으면 (Names/2 - 1) 번 수행하십시오. – Genzume
아마도 중복 사례 (이름 5 = 이름 5)를 확인한 다음 이름 5의 이름을 다른 이름의 이름으로 무작위로 바꿀 수 있습니다. 그런 다음 이름이 중복되는지 확인하고 더 이상 존재하지 않을 때까지 반복 하시겠습니까? – novacara
왜 그 결과가 잘못 되었습니까? 실제로 임의의 이름을 지정하려면 동일한 이름을 사용하는 경우가 있습니다. – svick