Чтение координат из файла Matrix БЕЗ 2D массивов?

В настоящее время я работаю над программой (проект по биоинформатике), которая включает чтение нескольких файлов, включая матрицу, и вывод результатов в другой файл. Больше всего у меня проблемы с тем, как бы я начал читать файл матрицы как систему координат (из-за отсутствия лучшего термина)? Есть ли простой способ сделать это без использования 2D-массивов? Например, если у меня есть следующие аминокислоты в:

файл A: CTTNCLAPLA
файл B: CTTNSITPVA

Затем программа считывает эти два файла, сравнивает каждую букву и обращается к матрице, чтобы найти число, соответствующее двум буквам, которое, в свою очередь, определяет вероятность того, что буква в файле A поменяется на букву в файле B.

Поскольку первая буква в каждом файле — C, программа считывает матрицу и выводит ее в отдельный файл:

C T T N C L A P L A
| | | | . : : | : |
C T T N S I T P V A

«.» означает, что число согласно матрице было 0, но не одной и той же буквой «|» означает, что буква одна и та же, а «:» означает, что число было больше нуля, но не одна и та же буква.

Вот часть матрицы (остальные не подходят):
ПРИМЕЧАНИЕ. Матрица, которую я должен использовать, находится в файле .csv и не содержит пробелов.

_, A, R, N, D, C
A, 2,-2, 0, 0,-2
R,-2, 6, 0,-1,-2
N, 0, 0, 2, 2,-4
D, 0,-1, 2, 4,-5
C,-2,-4,-4,-5,12

Я прошу прощения, если мое объяснение сбивает с толку. Пожалуйста, дайте мне знать, если вам нужны какие-либо разъяснения. Любая помощь с благодарностью. Заранее спасибо!

0

Решение

Чтобы избежать 2D-массивов, вы можете использовать 1D-массив с линейным индексом и реализовать вспомогательную вспомогательную функцию для преобразования 2D-координат в индекс линейного массива — как здесь Линейная индексация в симметричных матрицах

1

Другие решения

Я просто создал бы класс / структуру, а затем создал бы массив объектов. Это должно устранить вашу потребность в 2D-массиве.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector