Допустим, у меня есть вектор
x = [x0, x1, x2, x3] = [0, 2, 3, 1].
Я хочу создать симметричную матрицу из x. Т.е. симметричная матрица, у которой x в качестве первой строки и первого столбца, с x0 в качестве диагонали. Другими словами, мне нужна такая матрица X:
X = [0 2 3 1] = [x0 x1 x2 x3]
[2 0 1 3] [x1 x0 x3 x2]
[3 1 0 2] [x2 x3 x0 x1]
[1 3 2 0] [x3 x2 x1 x0]
Вопрос:
- Как я могу сделать это в C?
- Как я могу расширить это для любого заданного вектора длины?
Информатика — не моя область, поэтому все мои попытки до сих пор довольно смехотворны и включают цикл за циклом. Я упускаю что-то очевидное?
Спасибо