搜索使用用户输入的数组



我遇到问题。不久的是,这是这样做的:

一年级出生的一所学校有n位教授,您需要找到教授分享的年数(如果两名教授一年共享,那是一年的一年)。

示例:输入:(第一行)3(第二行)1975 1960 1975输出:(第三行)1

我已经以某种方式开始了,我只设法创建了输入:

int N;
cin >> N;
int array[N];
for (int i = 0; i < N; i++) {
     cin >> array[i];
}

现在,我不知道如何继续或使用用户输入的信息(年)。

编辑:尽管可能有更好的方法来解决此问题,但我只是在寻找简单的解决方案,或说明如何继续该程序的代码。

编辑:它应显示重复的年数。

在上面的程序中,您可以让用户输入他们输入了多少年以及您正在比较的年份。现在,要获取输出,您应该使用循环迭代阵列并比较年份。

例如:用户输入:1975 1960 1975在您的代码中,将存储为:array [0] = 1975,array [1] = 1960,array [2] =1975。

我建议的一个选项是:通过数组迭代并计算重复项的数量。如果我们发现较高的计数,则将其设置为最多的重复项。示例:在1975年阅读并与每个元素进行比较,如果有重复。如果我们找到重复,请增加计数器。如果计数器大于最高计数,则将成为最高计数。重复整个数组的过程。

程序:

int N;
cin >> N;
int A[N];
int highest_count = 0;
for (int i = 0; i < N; i++) {
    cin >> A[i];
}
for (int i = 0; i < N; i++) {
    int counter = 0;
    for (int j = i; j < N; j++) {
        if (A[i] == A[j] {
            counter++;
        }
        if (counter > highest_count) {
            highest_count = counter;
        }
    }
}
cout << highest_count;

相关内容

  • 没有找到相关文章

最新更新