Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
19 / 2 / 0
Регистрация: 15.02.2013
Сообщений: 149
1

Переделать реализацию шифра Трисемуса с C++ на C#

30.03.2016, 13:57. Показов 3075. Ответов 0

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! Помогите кто-нибудь, пожалуйста, кому не составит труда переписать код на шарп.

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
// Перегрузка оператора для вывода русских букв  
ostream& operator<<(ostream& out, const char* str)  
{  
    char buf[100];  
    if(CharToOem(str, buf))  
    {  
        for(int i = 0; str[i] != 0; i++)  
            out << buf[i];  
    }  
    return out;  
}  
int main(int argc, char* argv[])  
{  
    int column=0;  
    int str=0;  
    int i=0;  
    int granSlov;  
    const int N=3;  
    const int M=9;  
    char temp;  
    int kolvo=0;  
    int flagVhod=0;  
    char tableTris [N][M];  
    char codSlov[255];  
    char rezultKod[255];  
    char tempArray[27];  
    cout<<"Введите ключевое слово:"<<endl;  
// заполнение массива пользователем  
    for(i=0; i<27; i++)  
    {     char c= cin.get();  
           if (c != 'n')  
           {  
           tempArray[i]=c;  
           }  
           else{break;}  
  
  
    }  
    granSlov=i;  
  
  
  
// сортировка массива  
      for(int k=1; k<i; k++)  
    {  
         for (int j=0;  j<i-k;  j++){  
        if (tempArray[j]>tempArray[j+1]){  
                                temp=tempArray[j];  
                                tempArray[j]=tempArray [j+1];  
                               tempArray[j+1]=temp;  
                        }  
  }}  
  // удаление совпадений  
  for(int j=1; j<i;j++)  
  {  
      if(tempArray[j]==tempArray[j-1])  
      {  
          tempArray[j]=tempArray[j+1];  
      }  
      if(tempArray[j]==tempArray[j+1])  
      {  
          tempArray[j+1]=tempArray[j+2];  
      }  
  }  
  
// дополнение массива алфавитом  
  for(char z='a'; z<='|'; z++)  
  {  
      flagVhod=0;  
  
    for(int k=0; k<27; k++)  
    {  
       if(tempArray[k]==z)  
       {  
        flagVhod+=1;  
       }  
    }  
    if(flagVhod==0)  
    {  
        tempArray[i]=z;  
        i++;  
    }  
  }  
  // вывод полученного массива  
  cout<<endl<<"Полученный массив для составление матрицы"<<endl;  
  for(int k=0; k<27; k++)  
    {  
        cout<<tempArray[k]<<" ";  
  }  
// заполнение матрицы  
  cout<<endl;  
  int s=0;  
  for (int k=0; k<N; k++)  
  {  
      for(int j=0; j<M; j++)  
      {  
          if(tempArray[s]!='')  
          {  
              tableTris[k][j]=tempArray[s];  
              s++;  
          }  
          else {break;}  
      }  
  }  
// вывод матрицы  
  cout<<endl<<"Матрица Трисемуса"<<endl;  
  for (int k=0; k<N; k++)  
  {  
      for(int j=0; j<M; j++)  
      {  
          cout<<tableTris[k][j]<<" ";  
      }  
      cout<<endl;  
  }  
//------------------- кодирование---------------------------  
  cout<<endl<<"Введите слово для шифрования"<<endl;  
    for(int k=0; k<27; k++)  
    {  
        char c= cin.get();  
           if (c != 'n')  
           {  
           codSlov[k]=c;  
           kolvo++;  
           }  
           else{break;}  
    }  
    int l=0;  
for(int x=0; x<kolvo; x++)  
{  
 for (int k=0; k<N; k++)  
  {  
      for(int j=0; j<M; j++)  
      {  
          if(tableTris[k][j]==codSlov[x])  
          {  
              if(k!=2)  
              {  
          rezultKod[l]=tableTris[k+1][j];  
          l++;  
              }  
              else{ rezultKod[l]=tableTris[0][j];  
              l++;  
              }  
          }  
      }  
 }  
}  
cout<<"Результат шифрования"<<endl;  
for(int x=0; x<kolvo; x++)  
{  
    cout<<rezultKod[x]<<" ";  
}  
while(1);  
  
    return 0;  
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2016, 13:57
Ответы с готовыми решениями:

Шифрование/дешифрование шифра Трисемуса с любым ключевым словом
Помогите,пожалуйста написать программу по шифровке и дешифровке шифра Трисемус с любым ключевым...

STL-контейнер.Переделать реализацию.
Ребята, написал прогу, в которой контейнер типа вектор хранит данные класса банк, и проводит с ними...

Как переделать код решенной задачи методом рекурсии на реализацию с циклами Do, и Loop
Дана последовательность чисел а1 ... аn. Если в результате замены отрицательных членов...

Шифр Трисемуса
Помогите написать программу на Pascal Вот описание метода: Для получения такого шифра...

0
30.03.2016, 13:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2016, 13:57
Помогаю со студенческими работами здесь

пытаюсь сделать реализацию через считывание из файла кол-ва чисел, i,но незнаю как сделать реализацию из файла в массив и сортировки.
В файле input.txt находится неизвестное количество вещественных чисел в интервале . Выцапарать их...

Шифрующие таблицы Трисемуса
Выполните шифрование сообщения « УСПЕХ – ЭТО КОГДА ТЫ ДЕВЯТЬ РАЗ УПАЛ, НО ДЕСЯТЬ РАЗ ПОДНЯЛСЯ »,...

Шифрование методом Трисемуса
Здравствуйте. Напишу здесь алгоритм шифрования, чтобы было понятней: Выбирается размерность...

Шифрование и дешифрование по алгоритму Трисемуса
Срочно нужна помощь, необходимо реализовать программу шифрования/дешифрования по алгоритму...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru