Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 41
1

Добавить в код шифрование lz78

22.05.2018, 02:04. Показов 873. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
всем привет,помогите пожалуйста реализовать это:
Выполнить модификацию реализации метода сжатия методом сжатия LZ78 таким образом, чтобы словарь хранился в хэш-таблице Аддитивным методом

Добавлено через 31 минуту
Вот код шифрования,но как присобачить сюда метод сжатия lz78 ...( подскажите
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace laba11
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            
            InitializeComponent();
        }
        
        private string normalize(string source, string key)
        {
            for(int i=key.Length, j=i; i<source.Length; i++,j++)
            {
                if (j >= key.Length)
                    j = 0;
                key += key[j];
            }
            return key;
        }
          private string coding(string source, string key)
        {
            string encod = "";
            for (int i = 0; i < source.Length; i++)
                encod += ((char)((int)source[i] + (int)key[i])).ToString();
            return encod;
        }
          private string decoding(string encoded, string key)
        {
            string source = "";
            for (int i=0; i<encoded.Length; i++)
                source += ((char)((int)encoded[i] - (int)key[i])).ToString();
            return source;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
                MessageBox.Show("Вы не ввели строку!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            if (textBox2.Text == "")
                MessageBox.Show("Вы не ввели ключ!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            string source = textBox1.Text;
            string key = normalize(source, textBox2.Text);
            string encoded = "";
            encoded = coding(source, key);
            textBox3.Text = encoded;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            string source = textBox1.Text;
            string key = normalize(source, textBox2.Text);
            string decoded = "";
            if (textBox3.Text == "")
                MessageBox.Show("Невозможно расшифровать пустую строку!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            decoded = decoding(source, key);
            textBox4.Text = coding(decoded, key);
        }
 
        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
 
        }
 
        private void textBox2_KeyPress_1(object sender, KeyPressEventArgs e)
        {
            char ch = e.KeyChar;
            if (!Char.IsDigit(ch) && ch != 8) //Если символ, введенный с клавы - не цифра (IsDigit),
                e.Handled = true;// то событие не обрабатывается. ch!=8 (8 - это Backspace)
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar) == true)
                e.Handled = true;
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2018, 02:04
Ответы с готовыми решениями:

Хеширование + LZ78
Нужна помощь в составлении алгоритма. Имеется реализованный словарный метод сжатия LZ78....

Шифрование Гаммированием, добавить комментарии
Здравствуйте. Вот код шифровки: procedure TForm1.CryptButtonClick(Sender: TObject); var...

Отличия LZ77 и LZ78
Мне нужно сравнить LZ77 и LZ78. Недостатки LZ77 я нашел невозможность кодирования подстрок,...

Реализовать алгоритм LZ78
Дан код текста. Реализовать алгоритм LZ78. Не могу найти реализацию алгоритма. Может есть у кого?

1
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
23.05.2018, 01:38 2
Цитата Сообщение от MrDeath Посмотреть сообщение
Вот код шифрования
замечтательно, а это код шифрования каким методом?
Цитата Сообщение от MrDeath Посмотреть сообщение
как присобачить сюда метод сжатия lz78
очевидно, заменой блока шифрования необходимым

Не по теме:

ты считаешь, что нам тут делать (consored), что мы будем листать хзч, что бы ответить, хз кому,на то, что он скопипастил, но, будучи "дибилом" не смог понять?

0
23.05.2018, 01:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2018, 01:38
Помогаю со студенческими работами здесь

Как добавить шифрование к nio серверу (TCP/IP)?
У меня есть написанный nio TCP/IP сервер. .... while (true) { try ...

Алгоритм LZ78 или трудности реализации
Предыстория: одним солнечным утром, когда был уже совсем вечер, решил я написать архиватор....

Объясните пожалуйста доступно алгоритмы LZW и LZ78
Нам дали несколько заданий на кодирование, но не дали нормального образца или методички. опишите...

Запись в файл результата работы алгоритма lz78
Пробую реализовать алгоритм сжатия lz78. Сжать у меня получается сжать строку, получаю примерно вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru