지식아일랜드

코딩 기초 24편 _ C++ 코딩 배열의 특징(Characteristics of arrangement) 본문

C++ 기초

코딩 기초 24편 _ C++ 코딩 배열의 특징(Characteristics of arrangement)

모르는게 없는 지식인 2023. 5. 30. 10:00
반응형

안녕하세요?

지식아일랜드의 모르는 게 없는 지식인입니다.

오늘은 C++ 코딩의 배열의 특징에 대해 설명드리겠습니다.

 

 

 

아래는 C++ 코딩의 배열의 특징을 설명해 줄 수 있는 예제 코드입니다.

 

#include <iostream>
#include <vector>
#include <algorithm>

// 순열 생성 함수
void generatePermutations(std: :vector<int>& arr) {
     std: :sort(arr.begin(), arr.end());  // 배열의 정렬하여 순열 생성의 기초를 마련합니다.

     do {
            for (int num : arr) {
                 std: :cout << num << " ";
            }
            std: :cout << std: :endl;
      } while (std: :next_permutation(arr.begin(), arr.end()));
}

// 조합 생성 함수
void geverateCombinations(std: :vector<int>& arr, std:vector<int>& temp, int start, int k) {
      if (k == 0) {
          for (int num : temp) {
               std: :cout << num << " ";
          }
          std: :cout << num << " ";
          return;
       }

       for (int i = start; i <= arr.size() - k; i++) {
            temp.push_back(arr[i]);
            generateCombinations(arr, temp, i + 1, k - 1);
            temp.pop_back();
       }
}

int main() {
     int n;
     std: :cout << "배열의 크기를 입력하세요: ";
     std: :cin >> n;

     std: :vector<int> arr(n);
     std: :cout << "배열의 요소를 입력하세요: ";
     for (int i = 0; i < n; i++) {
          std: :cin >> arr[i];
     }

     std: :cout << "순열: " <<  std: :endl;
     generatePermutations(arr);

     std: :cout << "조합: " << std: :endl;
     std: :vector<int> temp;
     for (int k = 1; k<= n; k++) {
           generateCombinations(arr, temp, 0, k);
     }

     return 0;
}

 

위 코드는 사용자로부터 배열의 크기와 요소를 입력받은 후, 순열과 조합을 생성하여 출력합니다.

예를 들어, 사용자가 배열의 크기로 3을 입력하고, 배열의 요소로 1, 2, 3을 입력한 경우, 다음과 같은 출력이 생성됩니다.

 

배열의 크기를 입력하세요: 3
배열의 요소를 입력하세요: 1 2 3
순열:
1 2 3
1 3 2 
2 1 3
2 3 1
3 1 2 
3 2 1
조합:
1
2
3
1 2
1 3
2 3
1 2 3

 

위 코드에서 주요한 부분은 다음과 같습니다.

 

1. 'generatePermutations' 함수는 순열을 생성하는 함수입니다. 'std: :next_permutation' 함수를 사용하여 배열의 요소를 순서대로 바꿔가며 순열을 생성합니다. 정렬된 배열에서 시작하여 모든 순열을 생성하고 출력하 빈다.

2. 'generateCombinations' 함수는 조합을 생성하는 함수입니다. 재귀적으로 요소를 선택하거나 선택하지 않는 방식으로 조합을 생성합니다.

 

 

 

 

어떠셨나요?

오늘은 C++ 코딩의 배열의 특징에 대해 설명드렸는데요.

잘 이해가 되셨나요?ㅎㅎ

잘 이해가 되지 않거나 더 궁금한 부분이 있다면 언제든지 댓글로 문의해 주시기 바랍니다.

오늘도 긴 글 읽어주셔서 감사합니다^^

 

반응형
Comments