Computer >> Máy Tính >  >> Lập trình >> C ++

Nhân đôi phần tử đầu tiên và di chuyển từ 0 đến cuối trong Chương trình C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình nhân đôi phần tử đầu tiên và di chuyển tất cả các số 0 đến cuối mảng đã cho.

Chúng ta phải nhân đôi một số khi có các phần tử giống nhau trong các chỉ số liền kề. Sau đó, chúng ta phải thêm số 0 vào mảng.

Di chuyển tất cả các số 0 trong mảng đến cuối.

Ví dụ

Hãy xem mã.

#include <bits/stdc++.h>
using namespace std;
void moveZeroesToEnd(int arr[], int n) {
   int count = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] != 0) {
         arr[count++] = arr[i];
      }
   }
   while (count < n) {
      arr[count++] = 0;
   }
}
void updateAndRearrangeArray(int arr[], int n) {
   if (n == 1) {
      return;
   }
   for (int i = 0; i < n - 1; i++) {
      if ((arr[i] != 0) && (arr[i] == arr[i + 1])) {
         arr[i] = 2 * arr[i];
         arr[i + 1] = 0;
         i++;
      }
   }
   moveZeroesToEnd(arr, n);
}
void printArray(int arr[], int n) {
   for (int i = 0; i < n; i++)
      cout << arr[i] << " ";
}
int main() {
   int arr[] = { 2, 3, 3, 4, 0, 5, 5, 0 }, n = 7;
   cout << "Given Array: ";
   printArray(arr, n);
   cout << endl;
   updateAndRearrangeArray(arr, n);
   cout << "Updated Array: ";
   printArray(arr, n);
   cout << endl;
   return 0;
}

Đầu ra

Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.

Given Array: 2 3 3 4 0 5 5
Updated Array: 2 6 4 10 0 0 0

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.