Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

배열을 분할하고 끝에 첫 번째 부분을 추가하는 C++ 프로그램?

<시간/>

여기서는 배열을 분할하는 방법과 끝 위치에서 분할한 후 첫 번째 부분을 추가하는 방법을 살펴보겠습니다. 배열 내용이 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}라고 가정합니다. 우리는 이 인트로를 두 부분으로 자르고 싶습니다. 첫 번째 부분은 인덱스 0에서 3(분할 크기 4)이고 두 번째 부분은 나머지입니다. 끝에 첫 번째 부분을 추가한 후 배열 요소는 {4, 5, 6, 7, 8, 9, 0, 1, 2, 3}과 같을 것입니다. 이 문제를 해결하기 위해 우리는 이 알고리즘을 따를 것입니다.

알고리즘

splitArray(arr, n, k)

begin
   for i := 0 to k, do
      x := arr[0]
      for j := 0 to n-2, do
         arr[j] := arr[j+1]
      done
      arr[n-1] := x
   done
end

예시

#include<iostream>
using namespace std;
void splitArray(int arr[], int n, int k){
   for(int i = 0; i<k; i++){
      int x = arr[0]; //take the first number
      for(int j = 0; j<= n-2; j++){
         arr[j] = arr[j+1];
      }
      arr[n-1] = x;
   }
}
main() {
   int data[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
   int n = sizeof(data)/sizeof(data[0]);
   int i;
   cout << "Enter split size: ";
   cin >> i;
   splitArray(data, n, i);
   for(int i = 0; i <n;i++){
      cout << data[i] << " ";
   }
}

출력

Enter split size: 4
4 5 6 7 8 9 0 1 2 3