Форум программистов, компьютерный форум CyberForum.ru

Шифрование методом перестановки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ C++ Символы в строках http://www.cyberforum.ru/cpp-beginners/thread408717.html
Написал прог которая сортирует одну строку но вот в чем проблема я ни как не представляю и не понимаю как сделать так что бы был массив N количество строк и отсортировать символы в строках по алфавиту по критерию что первая строка идет по возрастанию вторая по спаданию и т.д #include <stdio.h> #include <conio.h> #include <windows.h> #include <dos.h> int main () {
C++ Ребяты помогите со строками чуток разобраться. Есть строка. В ней надо найти максимальное количество повторяющихся элементов. int main(){ char s = "pen stolb nos avtobus stil shik kaktus"; char c_max = ""; int max = 0; int col = 0; for ( unsigned int i=0; i<strlen(s); i++ ){ col = 0; http://www.cyberforum.ru/cpp-beginners/thread408715.html
C++ Найти наибольший среди отрицательных и наименьший среди положительных элементов массива
Задача такова: В введенном с клавиатуры одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов массива. Кто поможет, огромная благодарность :)
C++ "*&" - что это?
не понимаю для чего нужна "*&" запись. вот пример: int *z; int *&r = z; //объясните пожалуйста что она делает int a = 9; z = &a;
C++ Найти произведение элементов вектора, расположенных между максимальными и минимальными по модулю элементами http://www.cyberforum.ru/cpp-beginners/thread408705.html
Задайте два вектора А(n) и B(m). выполните задания: 1)найдите вектора С(n+m) с элементов векторов А и Б, сначала парных в порядке спадания, а потом непарных в порядке возрастания. 2)найдите произведение элементов вектора А, расположенных между максимальными и минимальными по модулю элементами. спасибо большое, потрите пожалуйста старую тему - там ошибки.
C++ выходной файл Записать выходной файл, разделить каждое число на полусумму первого отрикательного и 50-го числа файла. Помогите пожалуйста с этой задачей подробнее

Показать сообщение отдельно
t01001
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 12
16.12.2011, 13:44  [ТС]     Шифрование методом перестановки
Нашел реализацию этой задумки на С#. Но вопросы остались. Как вводить открытый текст из файла? Как задать генерацию ключа вручную и именно 5 символов? Посколько дело с С# имею поверхностное, то прошу помочь.

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
using System;
 
using System.Collections.Generic;
 
using System.ComponentModel;
 
using System.Data;
 
using System.Drawing;
 
using System.Linq;
 
using System.Text;
 
using System.Windows.Forms;
 
namespace ZILAB1
 
{
 
    public partial class Form1 : Form
 
    {
 
        int state;
 
        int[] key,unkey;
 
        public Form1 ()
 
        {
 
            InitializeComponent ();
 
            state = 1;           
 
            int[] k = {2,5,4,3,1};
 
            key = k;
 
        }
 
        private void button2_Click (object sender, EventArgs e)
 
        {
 
            Close ();
 
        }
 
        int[] getunkey (int[] k)
 
        {
 
            int[] res = new int[k.Length];
 
            for (int i = 0; i < k.Length; i++)
 
                res[k[i]1] = i + 1;
 
            return res;
 
        }
 
        string crypt (string msg,bool f)
 
        {
 
            string tmp1, tmp2, res;
 
            int[] k ;
 
            if(f) k=key;
 
            else k = getunkey (key);
 
            res = "";
 
            for (int i = 0; i < (int)(1+(msg.Length/k.Length)); i++)
 
            {
 
                if ((i + 1) * k.Length > msg.Length) return res += msg.Substring (i * k.Length, msg.Length(i * k.Length));
 
                tmp1 = msg.Substring (i * k.Length, k.Length);
 
                  tmp2 = "";
 
                for (int n = 0; n < k.Length; n++)
 
                     tmp2 += tmp1.Substring (k[n]1, 1);
 
                res += tmp2;
 
            }
 
            return res;
 
        }
 
        private void button1_Click (object sender, EventArgs e)
 
        {
 
            switch (state)
 
            {
 
                case 1://Зашифровать
 
                    {
 
                        groupBox1.Text = "Криптограмма";
 
                        button1.Text = "Расшифровать";
 
                        textBox1.Text = crypt (textBox1.Text,true);
 
                        state = 2;
 
                        break;
 
                    }
 
                case 2://Расшифровать
 
                    {
 
                        groupBox1.Text = "Исходный текст";
 
                        button1.Text = "Зашифровать";
 
                        textBox1.Text = crypt (textBox1.Text,false);
 
                        state = 1;
 
                        break;
 
                    }
 
            }
 
        }
 
    }
 
}
 
Текущее время: 08:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru