O problema aqui está no uso de i++ na estrutura de um loop que foi projetado para ser decremental (i.e., i está diminuindo de 6 até 0). O comportamento esperado é percorrer o array papeisMoeda de trás para frente, mas o uso de i++ está causando um incremento de i, o que vai contra a lógica do loop, que deveria estar diminuindo o valor de i.
O problema aqui está no uso de i++ na estrutura de um loop que foi projetado para ser decremental (i.e., i está diminuindo de 6 até 0). O comportamento esperado é percorrer o array papeisMoeda de trás para frente, mas o uso de i++ está causando um incremento de i, o que vai contra a lógica do loop, que deveria estar diminuindo o valor de i.
for (int i = 6; i >= 0; i++) {