Here's UKHeliBob's solution without for loops:
int translatePins(int pinNum)
{
if (14 <= pinNum && pinNum < 20)
{
return pin - 14;
}
if (54 <= pinNum && pinNum < 70)
{
return pin - 54;
}
return -1;
}
Personally I would use the "A0" constant to make it a little clearer what it's doing:
int translatePins(int pinNum)
{
if (A0 <= pinNum && pinNum < A0 + 16)
{
return pin - A0;
}
return -1;
}
(On the Uno, this version will convert pinNum 20 through 29 to the values 6 through 15, even though those pins don't exist.)