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
| function AddSpaces(OpenText, n_str, n_col)
{
var mod_str = OpenText.length % (n_str * n_col);
var temp_str = OpenText.replace(/ /g, "_");
if(mod_str == 0)
{
return temp_str;
}
for(var i = 0; i < (n_str * n_col - mod_str); i++)
{
temp_str = temp_str + "_";
}
return temp_str;
}
function AppendStrings(StringsArray)
{
var n = StringsArray.length;
var res = "";
for(var i = 0; i < n; i++) res += StringsArray[i];
return res;
}
function ProcessBlock(BlockText, n_str, n_col)
{
var StrRows = [];
var cur_str, cur_col;
for(cur_str = 0; cur_str < n_str; cur_str++) StrRows[cur_str] = "";
for(cur_col = 0; cur_col < n_col; cur_col++)
for(cur_str = 0; cur_str < n_str; cur_str++)
StrRows[cur_str] += BlockText.substr(cur_str + cur_col * n_str, 1);
return AppendStrings(StrRows);
}
function ProcessBlockCorrectedText(OpenText, n_str, n_col)
{
var n = OpenText.length, blocks_amount = n/(n_str*n_col);
var res = "";
for(var i = 0; i < blocks_amount; i++)
res += ProcessBlock(OpenText.substr(i * n_str * n_col, n_str * n_col), n_str, n_col);
return res;
}
function SimpleChifferTables(OpenText, n_str, n_col)
{
var CorrectedForBlocks = AddSpaces(OpenText, n_str, n_col);
return ProcessBlockCorrectedText(CorrectedForBlocks, n_str, n_col);
}
function ChifferText()
{
var Field = document.getElementById('input_data');
var nCols = document.getElementById('cols_amnt').value;
var nRows = document.getElementById('rows_amnt').value;
var res = SimpleChifferTables(Field.value, nRows, nCols);
(document.getElementById('output_data')).value = res;
}
</script>
<p>КОЛИЧЕСТВО СТРОК
<SELECT id="rows_amnt">
<Option value=2>2</Option>
<Option value=3>3</Option>
<Option value=4>4</Option>
<Option value=4>5</Option>
<Option value=4>6</Option>
<Option value=4>7</Option>
<Option value=4>8</Option>
</SELECT>
</p>
<p>КОЛИЧЕСТВО СТОЛБЦОВ
<SELECT id="cols_amnt">
<Option value=3>2</Option>
<Option value=3>3</Option>
<Option value=4>4</Option>
<Option value=5>5</Option>
</SELECT>
</p>
<p>Входные данные
<input type="text" id="input_data" class="red_class" value="">
</p>
<p>Выходные данные
<input type="text" id="output_data" value="">
</p>
<p>
<button onclick="ChifferText();">ЗАШИФРОВАТЬ</button>
</p> |