Ответ:

  1. Парень в зелёной рубашке не может быть Зеленовым: его фамилия совпала бы с цветом рубашки.
  2. Он также не Краснов, потому что реплику произнёс другой человек, а Краснов ответил ему. Значит, в зелёной рубашке Синичкин.
  3. Краснов не может быть в красной рубашке, поскольку тогда фамилия совпала бы с цветом.
  4. Зелёная рубашка уже занята Синичкиным, поэтому Краснов в синей, а Зеленов — в красной.

Ответ: Синичкин — в зелёной рубашке, Краснов — в синей, Зеленов — в красной.