Код вроде бы рабочий (испытан множеством примеров). Дело такое - мой код проверяет, есть ли "строка первого файла" во втором файле в принципе, а не на таком же месте, что и в первом файле. Т.е. в примере из условия есть одна "строка4" - ADDED (в первом файле), а другая во втором - REMOVED в другом месте. Мой код из них делает одну - SAME. Я так понимаю, программа должна работать несколько иначе, и проверять строки "друг напротив друга". Тогда не понятно почему в примере ниже (с учётом отсутствия пустых строк) программа должна вести себя именно так, а не иначе. строка1 строка1 SAME строка1 строка2 REMOVED строка2 строка3 строка3 SAME строка3 строка4 REMOVED строка4 Т.е. "строка2" будет напротив "строка3" - почему REMOVED строка2, а не ADDED строка3? Напротив же "строки3" будет "строка5" - из условия видим результат: SAME "строка3". Как в этом разобраться?