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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 07.11.2012, 10:48   #1
Darh
Пользователь
 
Регистрация: 13.09.2009
Сообщений: 75
По умолчанию 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 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение программы шифрования Alexeoi Паскаль, Turbo Pascal, PascalABC.NET 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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS