یافتن عدد دریافتی با حداکثر تعداد تکرار در ++c

the_king

مدیرکل انجمن
با فرض اينكه براي گرفتن عدد از كاربر، اعدادي كه توسط كاربر وارد مي شود حتما مرتب هستند و همچنين
ممكن است كاربر اعداد تكراري وارد كند، برنامه اي بنويسيد كه n عدد را از كاربر بگيرد و عددي را كه بيشترين
تعداد تكرار دارد را به همراه تعداد تكرار آن چاپ نمايد . مثلا اگر 19 عدد به صورت زير وارد شود، برنامه بايد 3-
را چاپ نمايد و عدد 4 را نيز به عنوان تعداد تكرار 3- چاپ كند . همچنين اگر چند عدد با تعداد تكرار مساوي
وجود دارند، لازم است كوچكترين عددي كه داراي بيشترين تكرار است چاپ شود.
کد:
-6, -6, -4, -3, -3, -3, -3, 7, 7, 12, 15, 16, 16, 27, 30, 30, 30, 30, 34, 34

کد:
#include <iostream>

using namespace std;

int main()
{
    int i, n;
    int x, p, m;
    int c = 1, v = 1;
    cout << "Please enter n : ";
    cin >> n;
    for (i = 0; i < n; i++)
    {
        cout << "Please enter number #" << i + 1 << " : ";
        cin >> x;
        if (i == 0)
        {
            p = x;
            m = x;
        }
        else
        {
            if (x == p)
                c++;
            else
            {
                if (c > v)
                {
                    v = c;
                    m = p;
                }
                p = x;
                c = 1;
            }
        }
    }
    cout << m << endl << v << endl;
    return 0;
}
 

جدیدترین ارسال ها

بالا