|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.10.2016, 16:03 | #11 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
байт = 8 бит уже ЕСТЬ БИТОВАЯ(бинарная(!) матрица 8x1 (или 1x8)
8 байт прочитанных в "бинарном" режиме и есть матрица 8{байт} x 8{бит} немного другое дело когда матрица записана в текстовом формате 8 строк по 8 символов "0" / "1" но вернемся к нашей байто-битовой матрице. 1. байт текста "умножаем" на каждый байт матрицы, так чтобы получить ОДИН бит. 2. собираем ВМЕСТЕ полученные биты (8 штук) вот и готов один байт шифр-текста.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.10.2016 в 16:07. |
20.10.2016, 22:02 | #12 | |
Пользователь
Регистрация: 20.10.2016
Сообщений: 15
|
Цитата:
|
|
20.10.2016, 22:12 | #13 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Что вы несете? Зачем вам что-то переводить в текст, а потом обратно?
|
20.10.2016, 22:34 | #14 |
Пользователь
Регистрация: 20.10.2016
Сообщений: 15
|
|
21.10.2016, 09:20 | #15 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
есть байт (один) текста {из файла прочитанного в бинарном режиме}. матрица 1 x 8 (
есть ВОСЕМЬ байт матрицы шифрования {также прочитанных из файла или заданных заранее} матрица 8 x 8 Задача: выполнить некие битовые(поразрядные) операции c данными ДЕВЯТЬЮ (8 байт шифр-матрицы + 1 байт текста) БАЙТАМИ так чтобы получить новый БАЙТ являющийся шифром для данного символа. Написать (01101001) {один байт текста} x (10000000; 01000000; 00100000; 00010000; 00001000; 00000100; 00000010; 00000001) {8 байт шифр-матрицы ";" это начало новой строки матрицы и новый БАЙТ } или же наоборот матрицу умножать на вектор. Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.10.2016 в 09:33. |
|
24.10.2016, 08:22 | #16 |
Пользователь
Регистрация: 20.10.2016
Сообщений: 15
|
Проверьте пожалуйста, всё ли верноС++
#include <stdlib.h>
#include<iostream> int main() { int i,j,x,y,d; int **mat; setlocale(LC_ALL,"RUSSIAN"); printf("Введите количество строк в матрице -"); scanf("%d",&x); printf("Введите количество столбцов в матрице -"); scanf("%d",&y); mat=(int **)malloc(sizeof(int*)*y); for(i=0; i < x; i++) mat[i]=(int*)malloc(sizeof(int)*x); for(i=0; i < x; i++) { for(j=0; j < y; j++) { printf("Матрица[%d][%d]=", i+1, j+1); scanf("%d",&mat[i][j]); } } FILE *input = fopen("исходный.txt", "rb+"); // Чтение исходного файла FILE *output = fopen("результат.txt", "wb+"); //Запись результата кодирования в файл if ( input != NULL && output != NULL ) { unsigned char buffer[BUFSIZ]; size_t count, d; do { count = fread(buffer, sizeof *buffer, sizeof buffer, input); for ( d = 0; d < count; ++d ) { for (i=0; i < y; i++) //Смещение на один знак в столбце { for (j=0;j < x; j++) //Смещение на один знак в строке buffer[d]=buffer[d]*mat[i][j]; } } fwrite(buffer, sizeof *buffer, count, output); printf("!!!Выполнено успешно!!!\n"); //Просто так!!! } while ( count == sizeof buffer ); fclose(input); fclose(output); } return 0; } |
24.10.2016, 08:22 | #17 |
Пользователь
Регистрация: 20.10.2016
Сообщений: 15
|
Как провильно код вводить?
|
25.10.2016, 12:23 | #18 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
из личной переписки
Цитата:
Цитата:
каждый бит отдельно умножаем Код:
Код:
Код:
Код:
2.1.надо эти ВОСЕМЬ элементов "умножить"(не забываем что это ЛОГИЧЕСКОЕ поразрядное умножение {AND} ) на НУЖНЫЕ ВОСЕМЬ элементов mat 2.2.затем "сложить" эти произведения (и тоже ЛОГИЧЕСКОЕ поразрядное сложение {XOR} ) 2.3. ПОЛУЧЕННЫЕ результатЫ надо СНОВА вернуть на нужную позицию { << } 2.4. и СОБРАТЬ воедино. {OR | XOR | + } наименования операторов могут отличаться от правильного (см. цитату в начале поста)
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 25.10.2016 в 12:32. |
||
25.10.2016, 13:44 | #19 |
Пользователь
Регистрация: 20.10.2016
Сообщений: 15
|
Спасибо!
Вы довольно подробно и понятно все описали. Я не селен в программировании. Но задачу в лабораторной работе выполнить надо, буду пытаться. |
27.10.2016, 10:41 | #20 | |
Пользователь
Регистрация: 20.10.2016
Сообщений: 15
|
Помогите написать код С++
PHP код:
Цитата:
Последний раз редактировалось Sergey26; 27.10.2016 в 10:45. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Шифрование/дешифрование | Andryan00 | Общие вопросы Delphi | 5 | 04.06.2016 03:48 |
Шифрование и дешифрование | V_I_P | Общие вопросы C/C++ | 2 | 05.11.2013 02:06 |
шифрование и дешифрование | Маша1993 | Помощь студентам | 0 | 25.09.2012 15:16 |
Шифрование и дешифрование | shananina-katya | Фриланс | 2 | 28.03.2012 21:30 |
шифрование и дешифрование | Dima170792 | Помощь студентам | 6 | 21.04.2011 22:31 |