Как получить индекс города, в котором постоянно самая высокая температура из всех? - PullRequest
0 голосов
/ 20 декабря 2018

У меня финал примерно через 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

...