Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
Заблокирован

Заполнить прямоугольник Полибия, в котором нужно отобразить все буквы русского алфавита от а до я и от А до Я

14.02.2014, 20:27. Показов 2843. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток, форумчане!

Помогите решить проблему! Дело жизни и смерти! Раньше с С# не приходилось иметь дело! Поэтому не имею представления что делать!

Задание: Заполнить прямоугольник Полибия, в котором нужно отобразить все буквы русского алфавита от а до я и от А до Я плюс символы: пробел, точка, двоеточие, восклицательный знак, вопросительный знак и запятая ( всего 72 символа). Методом Полибия зашифровать любую фразу, введенную с клавиатуры. Затем уже расшифровать зашифрованную строку.

Помогите!!! Выручайте!!!

Добавлено через 3 минуты
P.S. Нашел в просторах интернета код, в котором реализован метод Полибия для квадратной матрицы. Проанализировав этот код я понял, что он только для квадратной матрицы и не совсем подходит под мое задания, к тому же тут прописные и строчные буквы в шифровании выводят один и тот же результат!Возможно можно как-то изменить код под мое задание?!

Прощу помочь!!!

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace NurzhanLaboratory1
{
    class Program
    {
        static void Main(string[] args)
        {
            char[,] alfrus = {     {'А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д'},
                                   {'Е', 'е', 'Ё', 'ё', 'Ж', 'ж', 'З', 'з', 'И', 'и'},
                                   {'Й', 'й', 'К', 'к', 'Л', 'л', 'М', 'м', 'Н', 'н'},
                                   {'О', 'о', 'П', 'п', 'Р', 'р', 'С', 'с', 'Т', 'т'},
                                   {'У', 'у', 'Ф', 'ф', 'Х', 'х', 'Ц', 'ц', 'Ч', 'ч'},
                                   {'Ш', 'ш', 'Щ', 'щ', 'Ъ', 'ъ', 'Ы', 'ы', 'Ь', 'ь'},
                                   {'Э', 'э', 'Ю', 'ю', 'Я', 'я', '0', '1', '2', '3'},
                                   {'4', '5', '6', '7', '8', '9', ' ', ',', '.', '!'},
                                   {'?', ':', ';', '<', '>', '{', '}', '|', '(', ')'},
                                   {'"', '_', '*', '+', '-', '/', '€', '$', '@', '='}
                               };
 
 
            Console.WriteLine("Введите сообщение русскими буквами для шифровки: ");
            string message = Console.ReadLine();
            string new_message = "";
 
 
 
            for (int i = 0; i < message.Length; i++) // цикл идет по введенному  сообщению,т.е от нулевого символа до конечного (Length)
            {
                for (int j = 0; j < alfrus.GetLength(0); j++)
                for (int k = 0; k < alfrus.GetLength(1); k++) //эти два цикла нужны для перемешения по двумерному массиву,в котором содержаться сам алфавит
                     if (Char.ToLower(alfrus[j, k]) == message[i] || Char.ToUpper(alfrus[j, k]) == message[i])
                     { // в условии проверяем на совпадения буквы сообщения с буквами алфавита,предусматривается и регистр(большие-малые) букв
                          new_message += (Convert.ToString(j) + Convert.ToString(k)); // запоминаем индексы найденных совпадений,в стринговом порядке
                           break;
                     }
 
            }
            Console.WriteLine(new_message); // вывод полученного результата шифрации
 
            Console.WriteLine("Введите код для расшифровки: ");
            string message1 = Console.ReadLine();
            string new_message1 = "";
            for (int a = 0; a < message1.Length; a += 2)
            {
                new_message1 += alfrus[Convert.ToInt32(message1[a].ToString()), Convert.ToInt32(message1[a + 1].ToString())];
            }
            Console.WriteLine(new_message1);
 
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2014, 20:27
Ответы с готовыми решениями:

В строку SL перенести все буквы латинского алфавита, а в строку SU - все буквы русского алфавита
Ввести с клавиатуры строку S длиной до 80 символов из букв латинского и русского алфавитов. В строку SL перенести все буквы латинского...

Объявить два диапазонных типа: один буквы русского алфавита, второй буквы английского алфавита
Объявить два диапазонных типа: один буквы русского алфавита, второй буквы английского алфавита. Вводится буква с клавиатуры - выводится к...

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

10
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
14.02.2014, 20:37
Дело в том, что по Вики, методов шифровки (и соответственно дешифровки) у матрицы Полибия может быть несколько... Вы знаете, какой именно Вам нужен?
0
Заблокирован
14.02.2014, 20:55  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
Дело в том, что по Вики, методов шифровки (и соответственно дешифровки) у матрицы Полибия может быть несколько... Вы знаете, какой именно Вам нужен?
Должно быть примерно так:



Какой метод лучше подходит для него?!
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
14.02.2014, 21:05
Так тут и так видно, буква преобразуется в двузначное число, номер строки + номер столбца.
0
Заблокирован
14.02.2014, 21:14  [ТС]
Ну, я для наглядности вам прислал эту картинку! =) Как бы вы решили эту задачу?!.. Видно, что вы знающий человек! Помогите пожалуйста!!!
0
Заблокирован
14.02.2014, 21:28
у меня тоже возникла подобная проблема! Как вы ее решили бы? нужно реализовать дешифровку на шифр Полибия на языке JAVA.
0
Заблокирован
14.02.2014, 21:42  [ТС]
Вижу это проблема не только у меня! Но я не совсем правильно понял вашего вопроса?! Если конечно вы его мне адресовали! Как я понял вы смогли сделать шифрования на джаве, но не смогли сделать дешифровку! это тоже большая проблема!!!
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
14.02.2014, 21:44
Цитата Сообщение от Nurzone Посмотреть сообщение
Ну, я для наглядности вам прислал эту картинку! =) Как бы вы решили эту задачу?!.. Видно, что вы знающий человек! Помогите пожалуйста!!!
Ну как-нибудь бы решил... Сейчас попробую, что выйдет.

Не по теме:

Вы мне льстите. Я с шарпом занимаюсь с нового года, меньше 2-х месяцев, какой уж тут знающий...

0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
14.02.2014, 21:45
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
using System;
 
namespace A
{
    static class Program
    {
        static string[] mat = new string[] {
                    "АБВГДЕЖЗ",
                    "ИЙКЛМНОП",
                    "РСТУФХЦЧ",
                    "ШЩЪЫЬЭЮЯ"
            };
 
        static void Main(string[] args)
        {
            var text = "КРИПТОГРАФИЯ";
            var result = String.Join(" ", Array.ConvertAll(text.ToCharArray(), encode));
            Console.WriteLine(result);
            Console.ReadKey();
        }
 
        private static string encode(char input)
        {
            for (int i = 0; i < mat.Length; i++) 
            {
                var k = mat[i].IndexOf(input);
                if (k >= 0) return String.Format("{0}{1}", i + 1, k + 1);
            }
            return "";
        }
    }
}
1
Заблокирован
14.02.2014, 21:55
я дико извиняюсь, но тут же в задание написано пользователь должен вводить слова и оно должно шифроваться! затем пользователь может дешифровать таким же способом!
0
Заблокирован
14.02.2014, 22:22  [ТС]
Спасибо большое! =) А можно сделать так, чтобы пользователь вводил любое слова и оно шифровалось в соответствии с моим заданием?! и таким же способом при вводе определенный цифр дешифровалось?! Помогите пожалуйста!!!

Добавлено через 22 минуты
pycture, Могли бы вы прокоментировать этот код?! И что делать если в слове есть маленькие буквы? Как бы вы реализовали ввод слова пользователем через клавиатуру?! Вижу вы хорошо знакомы С# Выручайте! Буду вам благодарен очень!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2014, 22:22
Помогаю со студенческими работами здесь

В тексте удалить все заглавные буквы русского алфавита
В данном тексте удалить все заглавные буквы русского алфавита

Заменить буквы латинского алфавита на соответствующие им буквы русского алфавита
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Заменить буквы латинского алфавита...

Заменить буквы русского алфавита на соответствующие им буквы латинского алфавита
Дана строка символов, содержащая некоторый текст на русском языке. Заменить буквы русского алфавита на соответствующие им буквы латинского...

Определить количество слов, чтобы задействовать все буквы русского алфавита
Вводится последовательность слов. Определите, какое количество слов потребуется, чтобы задействовать все буквы русского ...

В заданном тексте заменить все заглавные буквы русского алфавита на строчные
Составить программу, которая в заданном тексте заменяет все заглавные буквы русского алфавита на строчные.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru