За първата просто намираш най-малката стойност и и сменяш позицията с тази на индекс 0.
За втората обхождаш цифрите в числото и намираш най-голямата от тях. Може да ги обходиш така:
GeSHi (C++):
for (int a = 482723; a != 0; a /= 10)
{
int d = a % 10;
// правиш нещо с цифрата (d)
}
Числото е a=482723, цифрите - в d.