Нет никакой ошибки, извинение относится к тому, что беспокою вас (элемент этикета).

В любом случае, обучаться надо синтезу решения для достижения цели, а не выдергиванию шаблонов и примерке их - подошло, не подошло. Программирование должно быть алгоритмо-ориентированное.