Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2013, 16:40   #1
Дженнет
 
Регистрация: 09.02.2013
Сообщений: 7
По умолчанию Шифрующие Таблицы в С#

Шифрующие таблицы (ШТ).
В качестве ключа в шифрующих таблицах используются:
• размер таблицы;
• особенности структуры таблицы.
Простейший пример - запись исходного текста по строкам некоторой матрицы и чтение его по столбцам этой матрицы. Ключом здесь служит размер таблицы.
Пример:
1. Шифруемое слово: БАНДЕРОЛЬ
2. Запишем слово по строкам матрица 3Х3:
Б А Н
Д Е Р
О Л Ь
3. Шифротекст: БДОАЕЛНРЬ.
Дженнет вне форума Ответить с цитированием
Старый 09.02.2013, 17:17   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Спасибо за то, что объяснили.
phomm вне форума Ответить с цитированием
Старый 20.02.2013, 19:15   #3
Дженнет
 
Регистрация: 09.02.2013
Сообщений: 7
По умолчанию

это моё задание. Не могли бы помочь написать программу? Плиз)

эту программу сказали писать в WindowsForms приложении С#

Последний раз редактировалось Stilet; 08.12.2015 в 18:27.
Дженнет вне форума Ответить с цитированием
Старый 20.02.2013, 19:53   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Этот форум не для решений ЗА Вас, а для посильной помощи в доведении Вашей полурабочей программы до ума, с Вашим прямым участием. Если же Вы не предоставляете никаких своих наработок - то Вам необходимо разместить тему в разделе для студентов (и надеяться, что кто-то поможет из своего великодушия) или же в раздел фриланса (там помогут с гораздо большей вероятностью, но с оплатой с Вашей стороны) - попросите модератора о переносе темы в подходящий Вам раздел.

Навскидку задание очень простое, если предоставите хотя бы чтение ввода слова от пользователя и чтение (либо установку прямо в алгоритме) размера матрицы, то помогу доработать, чтобы создавал матрицу и выводил в итоге шифровку.
phomm вне форума Ответить с цитированием
Старый 21.02.2013, 11:41   #5
Дженнет
 
Регистрация: 09.02.2013
Сообщений: 7
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.IO;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                StreamReader sr = new StreamReader(openFileDialog1.FileName);
                textBox1.Text = sr.ReadToEnd();
                sr.Close();
            }

        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {

        }

        private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }

        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button3_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            dataGridView1.RowCount = 3;
            dataGridView1.ColumnCount = 3;
            
            for (int i = 0; i < dataGridView1.ColumnCount; i++)
                for (int j = 0; j < dataGridView1.RowCount; j++)
                    dataGridView1[i, j].Value = textBox1.Text[i];
        } 
    }
}
и получается таблица 3на3, где пишется только первые три буквы....как изменить не знаю
Дженнет вне форума Ответить с цитированием
Старый 21.02.2013, 14:21   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Код:
using System.Text;
...
private void button2_Click_1(object sender, EventArgs e)
        {
            int cols = 3;
            int rows = 3;
            dataGridView1.RowCount = cols;
            dataGridView1.ColumnCount = rows;
            
            for (int i = 0; i < cols; i++)
                for (int j = 0; j < rows; j++)
                    dataGridView1[i, j].Value = textBox1.Text[i*cols+j];

            StringBuilder sb = new StringBuilder();


            for (int i = 0; i < cols; i++)
                for (int j = 0; j < rows; j++)
                    sb.Append(dataGridView1[j,i].Value.ToString());
            textBox2.Text = sb.ToString();
        }
Пробуем (только текстбокс2 для вывода создать надо)

Ну а вообще надо бы динамически размеры матрицы определять - например беря для её сторон величину Math.Floor( Math.Sqrt( textBox1.Text.Length));

Ах,да, ещё - использовать грид для этой цели как-то не хорошо - лучше переделайте на массив.

Последний раз редактировалось phomm; 21.02.2013 в 14:28.
phomm вне форума Ответить с цитированием
Старый 21.02.2013, 22:05   #7
Дженнет
 
Регистрация: 09.02.2013
Сообщений: 7
По умолчанию

что-то не работает программа(((

всё равно вставляет только первые три буквы с каждой новой строки

Последний раз редактировалось Stilet; 08.12.2015 в 18:27.
Дженнет вне форума Ответить с цитированием
Старый 22.02.2013, 06:25   #8
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Вместо тысячи слов....


ПС. Хотя есть мысля - Вы, наверное, не привязали метод к событию клика кнопки (просто заменить код в своём обработчике кнопки на мой), т.е. Ваша кнопка по прежнему вызывает Ваш старый код.
Изображения
Тип файла: jpg ЧЯДНТ.jpg (40.9 Кб, 379 просмотров)

Последний раз редактировалось phomm; 22.02.2013 в 06:28.
phomm вне форума Ответить с цитированием
Старый 22.02.2013, 17:00   #9
Дженнет
 
Регистрация: 09.02.2013
Сообщений: 7
По умолчанию

Спасибо) А можно ли сделать так, чтобы, в зависимости от объёма считываемого текста, размер таблицы сам определялся, а если остаются пустые ячейки (например, 21 никак не разложишь), то заполнить их рандомными символами?
Дженнет вне форума Ответить с цитированием
Старый 22.02.2013, 18:35   #10
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Я раньше об этом уже писал, и пример дал ( с корнем из длины строки и округлением) - подгоняйте под себя, не буду же я всю программу делать ) Вы же учитесь, а не я)

В крайнем случая, если Ваши попытки не дадут результата - кидайте сюда, глянем, как решить затруднения.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос: заполнение таблицы данными из другой таблицы с автоматическим добавлением строк yevgeniy.demidov Microsoft Office Excel 6 06.09.2012 15:27
Шифрующие таблицы с перестановкой по ключу –размеру таблицы Катка Помощь студентам 0 01.03.2012 19:56
Шифрующие таблицы Трисемуса 1keks Помощь студентам 13 22.11.2010 00:47
Данные из двух полей исх. таблицы в одно поле сводной таблицы Strelec79 Microsoft Office Excel 2 02.08.2009 13:59
Шифрующие таблицы Трисемуса megayakor Помощь студентам 4 11.06.2008 13:16