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

Đếm các cặp từ hai mảng có tổng chẵn trong C ++

Chúng ta được cung cấp hai mảng gồm các phần tử kiểu số nguyên, giả sử arr_1 [] và arr_2 [] và nhiệm vụ là chọn một phần tử từ arr_1 [] và một phần tử khác từ arr_ [] để tạo thành một cặp sau đó tính tổng các phần tử trong ghép nối và kiểm tra xem tổng kết quả là số chẵn hay không.

Đầu vào

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

Đầu ra

Count Pairs from two arrays with even sum are: 10

Giải thích

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.

Đầu vào

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

Đầu ra

Count Pairs from two arrays with even sum are: 2

Giải thích

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.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập vào hai mảng các phần tử kiểu số nguyên và tính toán kích thước của cả hai mảng và chuyển dữ liệu cho hàm để xử lý thêm.

  • Lấy một biến tạm thời làm số đếm để lưu trữ số lượng các cặp có tổng chẵn

  • Bắt đầu vòng lặp FOR từ i đến 0 cho đến hết kích thước của mảng 1

  • Bên trong vòng lặp, bắt đầu một vòng lặp FOR khác từ j đến 0 cho đến hết kích thước của mảng 2

  • Bây giờ hãy lưu trữ tổng của arr_1 [i] và arr_2 [j] trong một biến số nguyên, giả sử là sum

  • Kiểm tra IF tổng% 2 ==0 tức là tổng có chẵn hay không. NẾU có thì tăng số đếm lên 1.

  • Trả lại số lượng

  • In kết quả.

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Count Pairs from two arrays with even sum are: 10