Code:
#include iostream
#include vector
using namespace std;
void get_pos(char, int&, int&);
void same_row(int, vector
void same_column(int, vector
void diff_col_row(int, int, vector
void encode(vector
void get_input(vector
void convert_string(vector
const char encoder[5][5]={{'A','B','C','D','E'},
{'F','G','H','I','K'},
{'L','M','N','O','P'},
{'Q','R','S','T','U'},
{'V','W','X','Y','Z'}};
void get_pos(char p, int& r, int& c)
{
if (p < 'J')
{
r = (p - 65) / 5;
c = (p - 65) % 5;
}
else if (p > 'J')
{
r = (p - 66) / 5;
c = (p - 66) % 5;
}
return;
}
void same_row(int r, vector
{
code.push_back(encoder[r][(c1 + 1) % 5]);
code.push_back(encoder[r][(c2 + 1) % 5]);
return;
}
void same_column(int c, vector
{
code.push_back(encoder[(r1 + 1) % 5][c]);
code.push_back(encoder[(r2 + 1) % 5][c]);
return;
}
void diff_col_row(int r1, int c1, vector
{
code.push_back(encoder[r1][c2]);
code.push_back(encoder[r2][c1]);
return;
}
void encode(vector
{
vector
int i = 0, j = 0;
int r1, c1, r2, c2;
while (i < len)
{
get_pos(msgx[i], r1, c1);
i++;
get_pos(msgx[i], r2, c2);
if (r1 == r2)
{
same_row(r1, code, c1, c2);
}
else if (c1 == c2)
{
same_column(c1, code, r1, r2);
}
else
{
diff_col_row(r1, c1, code, r2, c2);
}
i++;
}
cout<<"\nCODE: ";
for (j = 0;j < code.size();j++)
{
cout<
}
return;
}
void get_input(vector
{
char c;
while (1)
{
c = getchar();
if (c >= 97 && c <= 122)
c- =32;
if (c == '\n')
break;
else if (c==' ')
continue;
else if (c == 'J')
a.push_back('I');
a.push_back(c);
}
return;
}
void convert_string(vector
{
int i, j;
i = j = 0;
while (i < msg.size())
{
msgx.push_back(msg[i]);
i++;
if (i == msg.size())
{
msgx.push_back('X');
break;
}
if (msg[i] == msgx[j])
{
msgx.push_back('X');
j++;
}
else if(msg[i] != msgx[j])
{
j++;
msgx.push_back(msg[i]);
i+ = 1;
}
j++;
}
}
int main()
{
vector
vector
int i, j;
cout<<"Enter Message to Encrypt:";
get_input(msg);
convert_string(msg, msgx);
int len = msgx.size();
/*
cout<<"\n\n";
for (i = 0;i < len;i++)
cout<
*///this is the string after making pairs of 2
encode(msgx, len);
return 0;
}
Output:
Enter Message to Encrypt:Balloon
CODE: CBNVMPPO
More C++ Programs: