Search This Blog

Tuesday 2 February 2016

Trans positional cipher program

#include<iostream>
#include<string.h>
#include<math.h>

using namespace std;

const int size=10;

class Matrix
{
float n;
char a[size][size];
int key[size];
public:
Matrix(char[]);
void display();
};

Matrix::Matrix(char x[])
{
int u=strlen(x);
n=ceil(sqrt(u));
int k=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(k<u)
a[i][j]=x[k++];
else
a[i][j]='$';
}
}
}

void Matrix::display()
{
cout << "\t\tEnter key using space";
for(int i=0;i<n;i++)
cin >> key[i];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[j][key[i]-1]!='$')
cout << a[j][key[i]-1];
}
}
}

int main()
{
char a[1000];
cout << "\t\tEnter string:";
cin >> a;
Matrix c(a);
c.display();
return 0;
}


input 

1 2 3
4 5 6
7 8 9
enter key: 3 2 1
output : 
369258147

No comments:

Post a Comment