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

Как сделать десктопное приложение для шифра Скитала?

01.11.2020, 14:53. Показов 962. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать программу на C#
В интернете есть несколько вариантов для реализации, но они не подходят.
Есть пример как должна выглядеть программа, только реализована она на C++, что никак не подходит для меня(код на С++ представлен ниже)
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
#include <iostream>
#include <string>
#include <fstream>
#include <ctime>
 
using namespace std;
 
int main() {
  char *source_text;
  char *ciphertext; // "матрица" Сциталла
  int symbol_amount; // кол-во символов в сообщении
  int string_amount; // кол-во строк
  int colum_amount; // кол-во столбцов
  int index; // индекс буквы зашифрованного сообщения
  
  int file_length; // сколько символов считать из файла
 
  ifstream fin("message.txt");
  if (!fin.is_open()) // если файл не открыт
    cout << "Файл не может быть открыт!\n"; // сообщить об этом
  else {
    cout << "Сколько символов считать из файла?  " << endl;
    cin >> file_length;
    source_text = new char[file_length];
    fin.getline(source_text, file_length); // считали строку из файла
 
    cout << endl << "Сообщение: " << endl;
    for (int i = 0; i < file_length; i++) {
      cout << source_text[i];
    }
    cout << endl;
    fin.close(); // закрываем файл
  }
  
  symbol_amount = file_length;
  ciphertext = new char[symbol_amount];
  cout << endl; cout << "Введите ключ Скиталла: ";
  cin >> string_amount;
  colum_amount = ((symbol_amount - 1) / string_amount) + 1; // вычислили кол-во столбцов  
  cout << "Кол-во символов в сообщении: " << symbol_amount << endl;
  cout << "Кол-во строк: " << string_amount << endl;
  cout << "Кол-во столбцов: " << colum_amount << endl;
 
  for (int i = 0; i < symbol_amount; i++) {
    index = string_amount*(i%colum_amount) + (i / colum_amount);
    ciphertext[index] = source_text[i];
  }
  
  for (int i = 0; i < symbol_amount; i++)
    cout << ciphertext[i];
  cout << endl;
  
  delete []ciphertext;
  delete []source_text;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2020, 14:53
Ответы с готовыми решениями:

Десктопное приложение для чтения PDF файлов
Доброго времени суток. Хочу написать десктопное приложение для преобразования DOC файлов в PDF файлы и чтения преобразованных или других...

Как создать на JavaFX десктопное приложение?
Всем привет! Как создать на JavaFX десктопное приложение, чтобы оно запускалось под управлением OS через исполняемый файл, а не через...

Десктопное приложение = ?
Добрый день, у меня вот интересный вопрос, все ли кто создает базу на FB юзает делфи? можно ли использовать, скажем c# или яву? и если не...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2020, 14:53
Помогаю со студенческими работами здесь

Десктопное приложение на JavaScript
Доброго времени суток, товарищи! Пришла такая мысль в голову, что значит &quot;поизвращаться&quot;. :) Возможно ли писать десктопные...

Десктопное приложение на JavaScript
Здравствуйте! Пишу небольшое расширение для десктопного приложения, написанного на JavaScript. И мне нужно передавать некоторые данные в...

Передача данных из JS в десктопное приложение на C#
Здравствуйте, подскажите пожалуйста: каким образом можно установить связь между скриптом на JS и приложением на C# (не ASP). Мои попытки...

Отправка сообщений на десктопное приложение
Есть проект на asp.net mvc, в нём реализован чат(с помощью SignalR), интересует вопрос как отправлять сообщения из чата, на обычное...

Десктопное приложение на основе базы данных
Добрый день! Прошу прощения, если вопрос совсем дилетантский Есть учебное приложение, которое работает с базой данных. С драйверами и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru