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

ผลคูณของอิลิเมนต์ที่ต่อเนื่องกันเป็นคู่ทั้งหมดใน Arrays ใน C++


ด้วยอาร์เรย์ arr[n] ของจำนวนเต็ม n ตัว ภารกิจคือค้นหาผลคูณขององค์ประกอบที่ต่อเนื่องกันเป็นคู่ทั้งหมด

องค์ประกอบที่ต่อเนื่องกันในอาร์เรย์ arr[] คือ หากเราอยู่ที่องค์ประกอบ ith เช่น arr[i] ดังนั้นองค์ประกอบที่ต่อเนื่องกันจะเป็น arr[i+1] หรือ arr[i-1] ดังนั้นผลิตภัณฑ์จะเป็น arr[ i] * arr[i+1] or arr[i] * arr[i-1].

ป้อนข้อมูล

arr[] = {1, 2, 3, 4}

ผลผลิต

2, 6, 12

คำอธิบาย

Splitting into pairs {1,2}, {2, 3}, {3, 4}
Their results will be 1*2 = 2, 2*3 = 6, 3*4 = 12

ป้อนข้อมูล

arr[] = {9, 5, 1, 2, 6, 10}

ผลผลิต

45, 5, 2, 12, 60

คำอธิบาย

Splitting into pairs {9, 5}, {5, 1}, {1, 2}, {2, 6}, {6, 10}
Their results will be 9*5 = 45, 5*1 = 5, 1*2 = 2, 2*6=12, 6*10=60

แนวทางที่ใช้ด้านล่างมีดังต่อไปนี้ในการแก้ปัญหา -

  • เริ่มการวนซ้ำจากองค์ประกอบที่ 0 ของอาร์เรย์จนถึงน้อยกว่า n-1

  • ทุกครั้งที่ฉันตรวจสอบ i+1 ผลิตภัณฑ์ทุก ๆ i และ i+1 จะพิมพ์ผลลัพธ์

อัลกอริทึม

Start
Step 1→ Declare function to calculate product of consecutive elements
   void product(int arr[], int size)
      Declare int product = 1
      Loop For int i = 0 and i < size – 1 and i++
         Set product = arr[i] * arr[i + 1]
         Print product
      End
Step 2 → In main()
   Declare int arr[] = {2, 4, 6, 8, 10, 12, 14 }
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Call product(arr, size)
Stop

ตัวอย่าง

#include <iostream>
using namespace std;
//functio to find the product of consecutive pairs
void product(int arr[], int size){
   int product = 1;
   for (int i = 0; i < size - 1; i++){
      product = arr[i] * arr[i + 1];
      printf("%d ", product);
   }
}
int main(){
   int arr[] = {2, 4, 6, 8, 10, 12, 14 };
   int size = sizeof(arr) / sizeof(arr[0]);
   printf("product is : ");
   product(arr, size);
   return 0;
}

ผลลัพธ์

หากรันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -

product is : 8 24 48 80 120 168