1.Go to the move tutor in Fallarbor town. Give him a heart scale and he can teach any move your Pokemon can learn. 2. You can level up your Pokemon to learn new moves. Hope that helps!
the exact same on ruby and Sapphire
All Beldum learns is Take Down. Metang and Metagross learn different moves. Hope this helps!
marshtomp learns good moves in level 16 he learns mud shot but u have to train so it could learn good moves or just maake him learn moves by tm.
any move
If you have a TM. The only ground type moves it can learn is earthquake and magnitude.
psywave faint attack and that's all i know
Unknown do not learn new moves. Hidden Power is its only attack.
Of course it can learn dragon moves such as dragonbreath and dragon dance and also can learn moves like twister and waterfall.
Wobbuffet is unable to learn any HM/TM except the breeding moves taught to Wynaut, Counter, and Safeguardfrom the Move tutor for one heart scale in Fallarbor
http://bulbapedia.bulbagarden.net/wiki/Swampert_(Pok%C3%A9mon)/Generation_III_learnset#By_leveling_up
at lvl 9 it learns astonish and at lvl 100 it learns earthquake
In Sapphire Wyneut evolves at 15 or 16. He'll also learn alot of moves too.