Mono-X писал(а):
Как для произвольной размерности написать характеристический многочлен?
Вам нужно реализовать алгебру полиномов, т.е. разработать структуру для хранения коэффициентов многочленов и написать функции для их сложения, вычитания и умножения. Затем, с помощью этих функций нужно модифицировать функцию для вычисления определителя так, чтобы она работала с полиномами вместо чисел (для этого, правда, требуется некоторая модификация, чтобы функция не использовала делений!).
Mono-X писал(а):
как по найденным лямбда находить собственные вектора
Подставляем лямбда, получаем вырожденную матрицу, методом Гаусса приводим её к ступенчатому виду (по ходу вычисляя обратную матрицу к матрице преобразования), в ступенчатом виде у матрицы собственные вектора образуют подпространство (0, ..., 0, x_k, ..., x_n) с очевидным базисом, преобразовываем этот базис обратно по получившейся обратной матрице.