Increasing order of melting point by searching the temperature on the web:
$$\ce{NH3} <\ce{I2} <\ce{Zn}<\ce{C_{diamond}}.$$
The idea I have read on "Chemistry: The Central Science" by Theodore L. Brown, H. Eugene LeMay Jr., Bruce E. Bursten on Chapter 11 says something related:
We need more energy to break intramolecular bonds than overcame an intermolecular bond. So, as much stronger is the bond, most energy is required to overcome it.
I want to know why $I_2$ has a higher melting point than $NH_3$. I suspect that $I_2$ has the strongest bond (so a bigger melting point). $I_2$ has intermolecular bonds such as dispersion force (It has big polarizability because of its larger size so his intermolecular bond is strong) and $NH_3$ it has Hydrogen bonding force (the strongest intermolecular force) and also dispersion force. So, I think, but I am not very sure that iodine's force is bigger than NH3 force because of its size (and polarizability).
Is it correct? Must I have into account covalent force in $I_2$?
And why Zinc has an upper melting point in relation with C? Is it because Zn has a covalent bond and Zinc metallic bond or it does not matter?