Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

แปลงอาเรย์เป็นแฟชั่นซิกแซกใน C++


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมแปลงอาร์เรย์เป็นแฟชั่นซิกแซก

สำหรับสิ่งนี้ เราจะได้รับอาร์เรย์ที่มีองค์ประกอบที่แตกต่างกัน งานของเราคือจัดเรียงองค์ประกอบของอาร์เรย์ที่กำหนดใหม่ในลักษณะซิกแซกด้วยองค์ประกอบที่มากขึ้นและเล็กลงหรือเปรียบเทียบกับองค์ประกอบก่อนหน้า

ตัวอย่าง

#include <iostream>
using namespace std;
//converting into zig-zag fashion
void convert_zigzag(int arr[], int n) {
   //flag denotes the greater or smaller relation
   bool flag = true;
   for (int i=0; i<=n-2; i++) {
      if (flag) {
         if (arr[i] > arr[i+1])
         swap(arr[i], arr[i+1]);
      } else {
         if (arr[i] < arr[i+1])
            swap(arr[i], arr[i+1]);
      }
      flag = !flag;
   }
}
int main() {
   int arr[] = {4, 3, 7, 8, 6, 2, 1};
   int n = sizeof(arr)/sizeof(arr[0]);
   convert_zigzag(arr, n);
   for (int i=0; i<n; i++)
      cout << arr[i] << " ";
   return 0;
}

ผลลัพธ์

3 7 4 8 2 6 1