C++中計算兩陣列中和為偶數的數對


我們有兩個整型陣列,假設為arr_1[]和arr_2[],任務是從arr_1[]中選擇一個元素,從arr_2[]中選擇另一個元素,組成一個數對,然後計算數對中元素的和,並檢查結果和是否為偶數。

輸入

int arr_1[] = {2, 3, 7, 1, 4}
int arr_2[] = { 2, 4, 1, 3}

輸出

Count Pairs from two arrays with even sum are: 10

解釋

We will form the pairs using both the arrays and the pairs so formed are-:
(2, 2) = 4(valid), (2, 4) = 6(valid), (2, 1) = 3(invalid), (2, 3) = 5(invalid), (3, 2) = 5(invalid), (3, 4) = 7(invalid), (3, 1) = 4(valid), (3, 3) = 5(valid), (7, 2) = 9(invalid), (7, 4) = 11(invalid), (7, 1) = 8(valid), (7, 3) = 10(valid), (1, 2) = 3(invalid), (1, 4) = 5(invalid), (1, 1) = 2(valid), (1, 3) = 4(valid), (4, 2) = 6(valid), (4, 4) = 8(valid), (4, 1) = 5(invalid), (4, 3) = 7(invalid). There are 10 valid pairs formed using given two arrays that are even sums.

輸入

int arr_1[] = {3, 1, 2}
int arr_2[] = { 2, 4}

輸出

Count Pairs from two arrays with even sum are: 2

解釋

We will form the pairs using both the arrays and the pairs so formed are-:
(3, 2) = 5(invalid), (3, 4) = 7(invalid), (1, 2) = 3(invalid), (1, 4) = 5(invalid), (2, 2) = 4(valid), (2, 4) = 6(valid), . There are 2 valid pairs formed using given two arrays that are even sums.

下面程式中使用的方法如下:

  • 輸入兩個整型陣列元素,計算兩個陣列的大小,並將資料傳遞給函式進行進一步處理。

  • 使用一個臨時變數count來儲存和為偶數的數對的數量。

  • 從i=0開始,迴圈遍歷陣列1。

  • 在迴圈內部,從j=0開始,迴圈遍歷陣列2。

  • 將arr_1[i]和arr_2[j]的和儲存在一個整型變數中,假設為sum。

  • 檢查IF sum % 2 ==0,即sum是否為偶數。如果是,則將count加1。

  • 返回count。

  • 列印結果。

示例

線上演示

#include <iostream>
using namespace std;
int even_pair(int arr_1[], int size_arr1, int arr_2[], int size_arr2){
   int count = 0;
   int odd = 0;
   for(int i = 0 ;i <size_arr1 ; i++){
      for(int j = 0; j<size_arr2 ; j++){
         int even = arr_1[i] + arr_2[j];
         if(even % 2 == 0){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr_1[] = {2, 3, 7, 1, 4};
   int arr_2[] = { 2, 4, 1, 3};
   int size_arr1 = sizeof(arr_1) / sizeof(arr_1[0]);
   int size_arr2 = sizeof(arr_2) / sizeof(arr_2[0]);
   cout<<"Count Pairs from two arrays with even sum are: "<<even_pair(arr_1, size_arr1, arr_2, size_arr2);
   return 0;
}

輸出

如果執行以上程式碼,將生成以下輸出:

Count Pairs from two arrays with even sum are: 10

更新於:2020年10月31日

253 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告