>  기사  >  백엔드 개발  >  C++를 사용하여 배열에서 선행 0을 제거합니다.

C++를 사용하여 배열에서 선행 0을 제거합니다.

PHPz
PHPz앞으로
2023-09-05 11:13:11885검색

C++를 사용하여 배열에서 선행 0을 제거합니다.

우리는 배열을 제공받았고 우리의 임무는 주어진 배열에서 선행 0을 제거한 다음 배열을 인쇄하는 것입니다.

Input : arr[] = {0, 0, 0, 1, 2, 3}
Output : 1 2 3

Input : arr[] = {0, 0, 0, 1, 0, 2, 3}
Output : 1 0 2 3

주어진 문제에서 이전 배열의 선행 0을 포함하지 않는 새 배열을 만들 수 있습니다.

해를 ​​찾는 방법

이 방법에서는 배열을 반복하고 앞에 오는 0을 제외한 모든 숫자를 삽입합니다.

Example

#include <iostream>

using namespace std;

int main() {
   int arr[] = {0, 0, 0, 1, 2, 0, 4};
   int n = sizeof(arr) / sizeof(int); // size of given array.
   int last = -1;
   for(int i = 0; i < n; i++) { // finding the first non zero element
      if(arr[i] != 0) {
      last = i;
      break;
      }
   }
   if(last == -1)
      cout << "Empty\n";
   else {
      int b[n - last]; // the new array.
      for(int i = last; i < n; i++) // inserting the elements in the new array
         b[i-last] = arr[i];

      for(int i = 0; i < n-last; i++) // printing the array
   cout << b[i] << " ";
   }
}

Output

1 2 0 4

위 코드 설명

주어진 프로그램에서 먼저 배열 arr을 반복하고 0이 아닌 첫 번째 요소의 인덱스를 찾아 last라는 변수에 저장합니다. 순회 후 마지막 값이 -1이면 전체 배열이 0으로 구성된다는 의미이므로 "Empty"를 인쇄합니다.

이제 0이 아닌 첫 번째 요소의 인덱스가 있으므로 새 배열의 크기(n - 마지막)를 결정할 수 있으며 마지막부터 n-1까지 for 루프를 실행합니다. 이러한 요소를 새 배열에 삽입하고 새 배열을 인쇄합니다.

결론

이 기사에서는 배열에서 선행 0을 제거하는 문제를 해결했습니다. 우리는 또한 이 문제와 완전한 해결책을 해결하기 위해 C++ 프로그램을 배웠습니다. C, Java, Python 등과 같은 다른 언어로 동일한 프로그램을 작성할 수 있습니다. 이 기사가 도움이 되기를 바랍니다.

위 내용은 C++를 사용하여 배열에서 선행 0을 제거합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제