@Og.:Ni idea de que quieres en realidad, querias ver la cantidad minima de monedas para dar cambio y eso es que realiza el programa... ahora creo que estas re-planteando el problema variandolo.
Tal ves me di a malentender. En si no seria un reto si se usara el sistema de monedas que usamos cotidianamente, por que simplemente vas quitando la mayor denominación hasta que no puedas mas y empezar con la siguiente y asi sucesivamente, por eso lo del cambio de denominaciones.
limitare un poco el problema, supondríamos que solo existen tres tipos de moneda:
un peso, 5 pesos y 7 pesos nada mas.
ahora has el mismo problema y veras por que empieza a agarrar complejidad XD
el problema sera solo saber cual es el mínimo de monedas para llegar a un numero.
Bueno, con el de Leo:
#include <iostream>
using namespace std;
int main(void)
{
int mat[5][5];
for(int i=0; i<5; i++)
for(int g=0; g<5;g++)
mat[i][g] = i*g;
int* a = mat[0];
for(int i=0;i<25;i++)
{
if(!(i%5))
cout << endl;
cout << *a++ << " ";
}
}
te refieres a algo asi?