Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 07.11.2012, 10:48   #1
Darh
Форумчанин
 
Регистрация: 13.09.2009
Адрес: Москва, Россия
Сообщений: 75
Репутация: 10
По умолчанию C# - прокомментировать код программы шифрования магическим квадратом

Здравствуйте, нужна очень помощь. Есть код программы шифрования магическим квадратом, прокомментируйте, пожалуйста код (какая строка что выполняет).
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MagicQuad
{    class Program
    {        static void Main(string[] args)
        { string _randomLine = "ЙЦУКЕНГШЩЗХФЪЫВАПРОЛДЖЭЧСМИТЬБЮ";
            Random _rand = new Random();
            Console.WriteLine("Введите сообщение:");
            String _line = Console.ReadLine().ToUpper().Replace(" ", "");
            int _d = (int)Math.Ceiling(Math.Sqrt(_line.Length));
            if (_d % 2 != 1)
                _d++;
            Console.WriteLine("Магический квадрат: " + _d.ToString() + "\n");
            int[,] _quad = new int[_d, _d];
            for (int j = 0; j < _d; j++)
            { for (int i = 0; i < _d; i++)
{ _quad[i, j] = _d*(((i + 1) + (j + 1) - 1 + (_d / 2)) % _d)+(((i+1) + 2*(j+1) - 2) % _d) + 1;
                    Console.Write(_quad[i, j].ToString() + "\t");                }
                Console.WriteLine();            }
            Console.WriteLine("Шифрование сообщения:");
            string _cryptedString = "";
            for (int j = 0; j < _d; j++)
            { for (int i = 0; i < _d; i++)
                { if ((_quad[i, j] - 1) < _line.Length)
                    { Console.Write(_line[_quad[i, j] - 1] + "\t");
                        _cryptedString += _line[_quad[i, j] - 1];                    }
               else
                  { char _randomChar = _randomLine[_rand.Next(0, _randomLine.Length - 1)];
                        Console.Write(_randomChar + "\t");
                        _cryptedString += _randomChar;                    }                }
                Console.WriteLine();            }
            Console.WriteLine("\nЗашифрованная строка:");
            Console.WriteLine(_cryptedString);
            Console.ReadKey();        }    }    }


_________
Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться,
а автор такой темы получать штрафы.

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.11.2012 в 11:20.
Darh вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение программы шифрования Alexeoi Паскаль 18 09.05.2012 14:11
Определить, является ли матрица магическим квадратом. drakon803 Помощь студентам 11 14.12.2011 14:29
Написать программы шифрования на Delphi Романи Фриланс 2 27.05.2011 23:35
Как узнать алгоритм шифрования зная имя и код активации? kasoi Общие вопросы Delphi 0 06.12.2010 19:56
определить является ли четырехугольник квадратом Ntfser Общие вопросы Delphi 2 18.10.2008 16:48


09:09.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.