개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.24 12:39

rand() 함수의 활용에 대한 도움을 부탁드립니다.

목록
  • 인덱스튜너 19시간 전 2025.04.24 12:39 새글
  • 5
    1
제가 최근에 공부한 내용 중에서 rand() 함수에 대한 부분이 이해되지 않습니다.
rand() 함수는 어떤 형태로도 사용할 수 있나요?
rand() 함수를 사용하여 1 부터 10 사이의 임의의 숫자를 생성하는 방법은 어떻해야 하나요?
이러한 rand() 함수를 사용할 때, 중복된 숫자를 피하는 방법은 무엇이 있을까요?

    댓글목록

    profile_image
    나우호스팅  19시간 전



    rand() 함수는 C++의 표준 라이브러리 함수 중 하나로, 임의의 숫자를 생성하는 데 사용됩니다. rand() 함수는 다음과 같은 형태로 사용할 수 있습니다.

    - int rand() : 0 부터 RAND_MAX까지의 임의의 숫자를 생성합니다.
    - void srand(unsigned int seed) : rand() 함수의 시드 값을 설정합니다.

    1 부터 10 사이의 임의의 숫자를 생성하려면, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    cpp
    
    #include 
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        srand(time(0)); // 시드 값을 현재 시간으로 설정
    
        int num = rand() % 10 + 1; // 1 부터 10 사이의 임의의 숫자를 생성
    
        std::cout << num << std::endl;
    
        return 0;
    
    }
    
    


    중복된 숫자를 피하려면, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    cpp
    
    #include 
    
    #include 
    
    #include 
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        srand(time(0)); // 시드 값을 현재 시간으로 설정
    
        std::vector numbers;
    
        for (int i = 0; i < 10; i++) {
    
            int num = rand() % 10 + 1;
    
            if (std::find(numbers.begin(), numbers.end(), num) == numbers.end()) {
    
                numbers.push_back(num);
    
            } else {
    
                i--;
    
            }
    
        }
    
        for (int num : numbers) {
    
            std::cout << num << " ";
    
        }
    
        std::cout << std::endl;
    
        return 0;
    
    }
    
    


    이 코드는 1 부터 10 사이의 10개의 중복되지 않은 임의의 숫자를 생성합니다.

    2025-04-24 12:40

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 14,104건 / 11 페이지

검색

게시물 검색