Masz zmienną pattern w pliku patterns.cpp i w mainie. Między nimi nie ma żadnej korelacji i skąd ten problem.
Podajesz jakąś wartość w main, ale pattern wewnątrz patterns.cpp jest pusty. Dodaj do tej funkcji parametr, który będzie zestawiał wewnętrzne ify z podaną jako argument wartością.