кодируем тексты кодами букв..
```python
def encode_to_matrix(text):
# Словари для кодирования букв
latin_codes = {chr(i + 64): str(i).zfill(2) for i in range(1, 27)}
cyrillic_codes = {chr(i + 1039): str(i).zfill(2) for i in range(1, 34)}
# Функция для кодирования одной буквы
def encode_char(char):
if char.upper() in latin_codes:
return latin_codes[char.upper()]
elif char.upper() in cyrillic_codes:
return cyrillic_codes[char.upper()]
return '00' # Для неалфавитных символов
# Кодирование текста
encoded_text = ' '.join(encode_char(char) for char in text if char.isalpha())
# Преобразование строки в матрицу
matrix_size = int(len(encoded_text)**0.5) + 1 # Размер матрицы
matrix = [encoded_text[i:i+matrix_size] for i in range(0, len(encoded_text), matrix_size)]
# Вывод матрицы
for row in matrix:
print(row)
# Пример использования функции
text = "Привет, мир!"
encode_to_matrix(text)
```
Эта программа сначала создает словари для кодирования букв, затем кодирует введенный текст, преобразует его в строку кодов, разбивает эту строку на равные части для формирования матрицы и выводит результат. Неалфавитные символы кодируются как '00'.
**
Чтобы прочитать текст из файла `.txt` и закодировать его с помощью программы, которую мы обсуждали, вам нужно будет немного изменить код. Вот обновленная версия программы на Python:
```python
def encode_to_matrix(file_path):
# Словари для кодирования букв
latin_codes = {chr(i + 64): str(i).zfill(2) for i in range(1, 27)}
cyrillic_codes = {chr(i + 1039): str(i).zfill(2) for i in range(1, 34)}
# Функция для кодирования одной буквы
def encode_char(char):
if char.upper() in latin_codes:
return latin_codes[char.upper()]
elif char.upper() in cyrillic_codes:
return cyrillic_codes[char.upper()]
return '00' # Для неалфавитных символов
# Чтение файла и кодирование текста
with open(file_path, 'r', encoding='utf-8') as file:
text = file.read()
encoded_text = ' '.join(encode_char(char) for char in text if char.isalpha())
# Преобразование строки в матрицу
matrix_size = int(len(encoded_text)**0.5) + 1 # Размер матрицы
matrix = [encoded_text[i:i+matrix_size] for i in range(0, len(encoded_text), matrix_size)]
# Вывод матрицы
for row in matrix:
print(row)
# Пример использования функции
file_path = 'путь_к_вашему_файлу.txt'
encode_to_matrix(file_path)
```
Этот код сначала открывает указанный файл `.txt`, читает его содержимое, затем кодирует текст и выводит его в виде матрицы. Убедитесь, что вы заменили `'путь_к_вашему_файлу.txt'` на реальный путь к вашему текстовому файлу перед запуском программы.
Свидетельство о публикации №124070800889