确实c++排列输出值的同时输出对应的序号

请问数组依次存放着六个同学的平均值,怎么输出从大到小的分数排列以及对应的人

#include <iostream>
using namespace std;

int main()
{
    float avg[6] = {82.5, 69.0, 75.5, 91.0, 88.5, 77.0}; // 六个同学的平均分数
    int group[6] = {1, 2, 3, 4, 5, 6}; // 对应的组数
    int i, j, max_idx;

    for (i = 0; i < 5; i++)
    {
        max_idx = i;
        for (j = i + 1; j < 6; j++)
        {
            if (avg[j] > avg[max_idx])
            {
                max_idx = j;
            }
        }
        // 交换平均分数和组号
        swap(avg[i], avg[max_idx]);
        swap(group[i], group[max_idx]);
    }

    // 输出排序结果
    cout << "降序排列后的平均分数和对应的组号为:" << endl;
    for (i = 0; i < 6; i++)
    {
        cout << "第 " << group[i] << " 组的平均分数为 " << avg[i] << endl;
    }

    return 0;
}