Why does God destroy Sodom and Gomorrah without warning, but offer Nineveh a chance to repent? The men who come to Lot's house could have just easily prophesied to the people of Sodom and Gomorrah that they must repent or they will be destroyed, like Jonah did at Nineveh.
According to the Ibn Ezra, Nineveh had previously been a righteous city, so they were given a chance to repent, whereas Sodom and Gomorrah didn't merit a prophet to warn them.
Ibn Ezra, Jonah 1:2:
והנה מצאנו כתוב היתה עיר גדולה לאלהים שהיו יריאים השם מקדם... ופירוש לאלהים כי היו יריאים השם הימים הקדמונים רק עתה בימי יונה החלו לעשות רע. ולולי זה שהיו בתחילה אנשי השם לא היה שולח נביאו אליהם והנה ראינו ששב תשובה גמורה אין כמוה ...
More of a partial answer, really, but still a useful contribution.
In Yonah, G-d gives a specific reason for having mercy on them. In Yonah 4:11, G-d says:
Now should I not take pity on Nineveh, the great city, in which there are many more than one hundred twenty thousand people who do not know their right hand from their left, and many beasts as well?
Rashi explains that those "who do not know their right hand from their left" are the children of Ninveh, and the "beasts" refer to the sinful adults.
... the people of Sodom, surrounded the house, both young and old, the entire populace from every end[of the city].
There were probably a minimum of 10 good men left in Ninveh so He gave them the option to repent but there were not even 10 good men in Sodom and Gemora. This is learned by the discussion Avraham has with G-d where he tries to argue about not destroying Sodom and G.