кандидаты которые набрали минимальное количество голосов в каждом из населенных пунктов
что-то не получается сделать кандидаты которые набрали минимальное количество голосов в каждом из населенных пунктов,сделал минимальное для каждого города, но как узнать какой из кандидатов??
#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;
}