кандидаты которые набрали минимальное количество голосов в каждом из населенных пунктов

что-то не получается сделать кандидаты которые набрали минимальное количество голосов в каждом из населенных пунктов,сделал минимальное для каждого города, но как узнать какой из кандидатов??

   #include <iostream>
using namespace std;

class MTB
{
private:

    int n;
    int k;
    int l[10][10];
    int q=10000;
public:
    MTB()
    {
        int i = 21;
        
        cout << "\t\t1-й:\t\t2-й:\t\t3-й:\t\t4-й:\t\t5-й:\n" << endl;
        for (int i = 0; i < 6; i++)
        {
            cout << i+1 << "-e місто: ";
            for (int j = 1; j <= 5; j++)
            {

                l[i][j] = rand()%(10*i+50);
                cout<< "\t" << l[i][j] << "\t";

            }

            cout << endl;

        }
        cout << endl;
        for (int i = 0; i < 6; i++){
                    int min = l[0][1];
                    int candidate=0;
            for (int j = 1; j <= 5; j++)
            {
                if(l[i][j]<=min){
                    min=l[i][j];
                    candidate=j;
                }
            }
           cout << i+1 << "-e місто: "<<candidate<<"-й "<<min<<endl;
        }

    }
    
};

int main()
{
    MTB obj;
    return 0;
}

Ответы (1 шт):

Автор решения: NIKITB
#include<iostream>
using namespace std;
struct Person
{
    int votes;
    string name;
};
class House
{
private:
    Person* x; int g;
public:
    House(int a)
    {
        x = new Person[a];
        g = a;
    }
    ~House()
    {
        delete[] x; x = nullptr;
    }
    void SetData()
    {
        for (int y = 0; y < g; y++)
        {
            cout << "Enter Name: ";
            cin >> x[y].name;
            cout << "Enter votes: ";
            cin >> x[y].votes;
        }
    }
    int Minvote()
    {
        int min = INT16_MAX;
        for (int i = 0; i < g; i++)
        {
            if (x[i].votes < min)
            {
                min = x[i].votes;
            }
        }
        return min;
    }
    void OutData()
    {
        for (int y = 0; y < g; y++)
        {
            cout<< x[y].name<<endl<< x[y].votes<<endl<<endl<<endl;
        }
    }
};
int main()
{
    srand(unsigned(time(0))); int n = rand() % 5 + 1; 
    House** v = new House * [n];
    for (int i = 0; i < n; i++)
    {
        v[i]= new House(rand() % 3 + 3);
        cout << "Enter [" << i + 1 << "] House:" << endl;
        v[i]->SetData(); cout << endl << endl << endl;
    }
    for (int i = 0; i < n; i++)
    {
        cout << "House [" << i + 1 << "]:"<<endl<<endl; v[i]->OutData();
    }

    cout << endl << endl;

    for (int i = 0; i < n; i++)
    {
        cout << "House [" << i + 1 << "]: " << v[i]->Minvote()<<endl;
        delete v[i];
    }
    delete[] v; v = nullptr;
}
→ Ссылка