У меня финал примерно через 18 дней, и мне нужно закончить эту домашнюю работу.Речь идет о N городах и M днях, что составляет N * M многомерный массив.Я должен вернуть на консоль номера городов в порядке убывания.Как вернуть индексы в порядке убывания?
Я пробовал этот код, но он не будет возвращать его каждый раз.
#include <iostream>
using namespace std;
int main()
{
int i,j;
int city,days;
cin >> city >> days;
int maxert=0;
int maxi[city];
int data[city][days];
int hmuch[city];
int help[days];
for (i = 0; i < city; i++)
{
maxi[i]=0;
}
for (i = 0; i < days; i++)
{
help[i]=0;
}
for (i = 0; i < city; i++)
{
hmuch[i]=0;
}
for (i = 0; i < city; i++)
{
for (j = 0; j < days; j++)
{
cin >> data[i][j];
}
}
for (i = 0; i < days; i++)
{
for (j = 0; j < city; j++)
{
if (data[j][i] >= maxert)
{
maxert=data[j][i];
help[i] = maxert;
}
}
}
for (i = 0; i < days; i++)
{
for (j = 0; j < city; j++)
{
if (help[i] == data[j][i])
{
hmuch[j]=hmuch[j]+1;
}
}
}
maxert = 0;
for (i = 0; i < days; i++)
{
if (hmuch[i] >= maxert)
{
maxert = hmuch[i];
}
}
for (i = 0; i < days; i++)
{
if (maxert == hmuch[i])
{
maxi[0] = i;
}
else
{
maxi[i]=i;
}
}
for (i = 0; i < city; i++)
{
cout << maxi[i] << " ";
}
}
Есть ввод:
3 5
14 15 16 10 10
17 17 20 15 30
12 16 16 16 20
Выход должен быть: 2 3 1
Но то, что я получил: 3 1 2