Spirale schleifen

Ein Freund brauchte einen Algorithmus, mit dem er die Elemente einer NxM-Matrix durchlaufen konnte (N und M sind ungerade). Ich habe eine Lösung gefunden, aber ich wollte sehen, ob meine SO'-Kollegen eine bessere Lösung finden können. Ich poste meine Lösung als Antwort auf diese...