首页 > 解决方案 > 在数组代码中查找对数的输出不正确

问题描述

问题是在给定数组中查找对数。我无法弄清楚为什么我得到不正确的输出。提前致谢...

样本输入:10 1 1 3 1 2 1 3 3 3 3

预期产出:4

我的输出:2

#include <iostream>
using namespace std;

void sockMerchant(int arr[],int n){
    int arr1[n],pairs=0,k=0;
    bool exist=false;
    for(int i=0;i<n;i++){

        for(int j=0;j<n;j++){
            if(arr1[j]==arr[i]){
                exist = true;
            }
        }

        if(!exist){
            int c=0;
            int x = arr[i];
            for(int i=0;i<n;i++){
                if(arr[i]==x){
                    c++;
                }
            }
            arr1[k] = x;
            k++;
            pairs = pairs + c/2;
            exist = false;
        }

    }
    cout << pairs;
}

int main() {
    int n;
    cin >> n;
    int arr[n];
    for(int i=0;i<n;i++){
        cin >> arr[i];
    }
    sockMerchant(arr,n);

}

标签: arrays

解决方案


推荐阅读