Прибираем лишний хлам, медленно переходим на нормальные динамические массивы.
Осталось вот только везде границы проверить%)