Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> шифр двойной перестановки, нужна помощь, советы 
:(
    Опции темы
bodqa
Дата 18.5.2014, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 18.5.2014

Репутация: нет
Всего: нет



Есть исходный код программы "шифр одиночной перестановки по ключу", а мне нужно программа "шифр двойной перестановки".

Помогите идеями или вариантами программ

Код

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package pelikan;
 
/**
 *
 * @author Student
 */
public class Pelikan {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int verticle = 5;
        int horizontal = 7;
        String keyWord = "ПЕЛИКАН";
        String word = "ТЕРМИНАТОРПРИБЫВАЕТСЕДЬМОГОВПОЛНОЧЬ";
        StringBuilder instKey = new StringBuilder(keyWord);
        StringBuilder instSentance = new StringBuilder(word);
        //Массив для ключевого слова.
        char[] key = new char[instKey.length()];
        //Массив для незашифрованого послания.
        char[][] table = new char[verticle][horizontal];
        char[][] newTable = new char[horizontal][verticle];
        for (int i = 0, ii = 0; i < horizontal; i++) {
            for (int j = 0; j < verticle; j++) {
                table[j][i] = instSentance.charAt(ii);
                ii++;
            }
        }
        for (int i = 0; i < instKey.length(); i++) {
            key[i] = instKey.charAt(i);
        }
        for (int i = 0; i < key.length; i++) {
            int min = (int) key[i];
            int imin = i;
            for (int j = i + 1; j < key.length; j++) {
                if ((int) key[j] < min) {
                    min = (int) key[j];
                    imin = j;
                }
            }
            if (i != imin) {
                int temp = (int) key[i];
                key[i] = (char) key[imin];
                key[imin] = (char) temp;
            }
        }
        for (int i = 0; i < key.length; i++) {
            System.out.print(key[i]);
        }
        System.out.println();
        for (int j = 0; j < instKey.length(); j++) {
            for (int y = 0; y < instKey.length(); y++) {
                if ((int) key[j] == (int) instKey.charAtyes) {
                    for (int i = 0; i < verticle; i++) {
                        newTable[j][i] = table[i][y];
                    }
                }
 
            }
        }
            for (int i = 0; i < verticle; i++) {
                for (int j = 0; j < horizontal; j++) {
                    System.out.print(newTable[j][i]);
                }
                System.out.println();
            }
            System.out.println();
            for (int i = 0; i < verticle; i++) {
                for (int j = 0; j < horizontal; j++) {
                    System.out.print(newTable[j][i]);
                }
            }
    }
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0997 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.