Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

DATA STRUCTURE FINAL PROJECT | DATA ENCRYPTION PROGRAM (USING ARRAY TO BST)

#include <iostream>
#include <queue>
#include <stack> int main() {
#include <cmath> char userInput;
using namespace std; queue<char>qq;
stack<char>sq;
struct NODE { stack<int>vv;
int data;
NODE* next; cout << "Enter the letters of the name: ";
}; char arrayName[8];
struct TreeNode {
int data; int arrayLetterNumber[26];
TreeNode* left; for (int p=1; p<=26; p++){
TreeNode* right; arrayLetterNumber[p]=(p);
}
TreeNode(int val) : data(val), left(NULL), right(NULL) {}
}; for (int x = 0; x < 8; x++) {
cin >> arrayName[x];
TreeNode* insert(TreeNode* root, int key) { qq.push(arrayName[x]);
if (root == NULL) { }
return new TreeNode(key);
}

if (key < root->data) { NODE* node[8];


root->left = insert(root->left, key); NODE* value[8];
} else { for (int u=0; u<8; u++){
root->right = insert(root->right, key); node[u]= new NODE;
} node[u]->data=qq.front();
value[u]= new NODE;
return root; value[u]->data=(u+1);
} qq.pop();
void inOrderTraversal(TreeNode* root) { }
int dada=0;
if (root != NULL) { value[7]->next=value[2];
inOrderTraversal(root->left); value[2]->next=value[0];
dada=(root->data)%2; value[0]->next=value[4];
cout<<dada; value[4]->next=value[1];
inOrderTraversal(root->right); value[1]->next=value[3];
} value[3]->next=value[6];
} value[6]->next=value[5];
value[5]->next=NULL; } else if(sq.top()=='C' || sq.top()=='c'){
if (arrayName[0]=='C' || arrayName[0]=='c'){
node[7]->next=node[2]; root=insert(root, vv.top()*arrayLetterNumber[3]);
node[2]->next=node[0]; }else{
node[0]->next=node[4]; insert(root, vv.top()*arrayLetterNumber[3]);
node[4]->next=node[1]; }
node[1]->next=node[3]; sq.pop();
node[3]->next=node[6]; vv.pop();
node[6]->next=node[5]; } else if(sq.top()=='D' || sq.top()=='d'){
node[5]->next=NULL; if (arrayName[0]=='D' || arrayName[0]=='d'){
root=insert(root, vv.top()*arrayLetterNumber[4]);
}else{
insert(root, vv.top()*arrayLetterNumber[4]);
NODE* current = node[7]; }
NODE* currentv = value[7]; sq.pop(); vv.pop();
while (current != NULL) { } else if(sq.top()=='E' || sq.top()=='e'){
sq.push(current->data); if (arrayName[0]=='E' || arrayName[0]=='e'){
vv.push(currentv->data); root=insert(root, vv.top()*arrayLetterNumber[5]);
current = current->next; }else{
currentv = currentv->next; insert(root, vv.top()*arrayLetterNumber[5]);
} }
sq.pop(); vv.pop();
int y=0; } else if(sq.top()=='F' || sq.top()=='f'){
TreeNode* root = NULL; if (arrayName[0]=='F' || arrayName[0]=='f'){
while(!sq.empty()){ root=insert(root, vv.top()*arrayLetterNumber[6]);
arrayName[y]=sq.top(); }else{
insert(root, vv.top()*arrayLetterNumber[6]);
if(sq.top()=='A' || sq.top()=='a'){ }
if ('A'==arrayName[0] || 'a'==arrayName[0]){ sq.pop(); vv.pop();
root=insert(root, vv.top()*arrayLetterNumber[1]); } else if(sq.top()=='G' || sq.top()=='g'){
}else{ if (arrayName[0]=='G' || arrayName[0]=='g'){
insert(root, vv.top()*arrayLetterNumber[1]); root=insert(root, vv.top()*arrayLetterNumber[7]);
} }else{
sq.pop(); insert(root, vv.top()*arrayLetterNumber[7]);
vv.pop(); }
} else if(sq.top()=='B' || sq.top()=='b'){ sq.pop(); vv.pop();
if (arrayName[0]=='B' || arrayName[0]=='b'){ } else if(sq.top()=='H' ||sq.top()=='h'){
root=insert(root, vv.top()*arrayLetterNumber[2]); if (arrayName[0]=='H' || arrayName[0]=='h'){
}else{ root=insert(root, vv.top()*arrayLetterNumber[8]);
insert(root, vv.top()*arrayLetterNumber[2]); }else{
} insert(root, vv.top()*arrayLetterNumber[8]);
sq.pop(); }
vv.pop(); sq.pop(); vv.pop();
} else if(sq.top()=='I' || sq.top()=='i'){ if (arrayName[0]=='O' || arrayName[0]=='o'){
if (arrayName[0]=='I' || arrayName[0]=='i'){ root=insert(root, vv.top()*arrayLetterNumber[15]);
root=insert(root, vv.top()*arrayLetterNumber[9]); }else{
}else{ insert(root, vv.top()*arrayLetterNumber[15]);
insert(root, vv.top()*arrayLetterNumber[9]); }
} sq.pop(); vv.pop();
sq.pop(); vv.pop(); } else if(sq.top()=='P' || sq.top()=='p'){
} else if(sq.top()=='J' || sq.top()=='j'){ if (arrayName[0]=='P' || arrayName[0]=='p'){
if (arrayName[0]=='J' || arrayName[0]=='j'){ root=insert(root, vv.top()*arrayLetterNumber[16]);
root=insert(root, vv.top()*arrayLetterNumber[10]); }else{
}else{ insert(root, vv.top()*arrayLetterNumber[16]);
insert(root, vv.top()*arrayLetterNumber[10]); }
} sq.pop(); vv.pop();
sq.pop(); vv.pop(); } else if(sq.top()=='Q' || sq.top()=='q'){
} else if(sq.top()=='K'|| sq.top()=='k'){ if (arrayName[0]=='Q' || arrayName[0]=='q'){
if (arrayName[0]=='K' || arrayName[0]=='k'){ root=insert(root, vv.top()*arrayLetterNumber[17]);
root=insert(root, vv.top()*arrayLetterNumber[11]); }else{
}else{ insert(root, vv.top()*arrayLetterNumber[17]);
insert(root, vv.top()*arrayLetterNumber[11]); }
} sq.pop(); vv.pop();
sq.pop(); vv.pop(); } else if(sq.top()=='R'|| sq.top()=='r'){
} else if(sq.top()=='L'|| sq.top()=='l'){ if (arrayName[0]=='R' || arrayName[0]=='r'){
if (arrayName[0]=='L' || arrayName[0]=='l'){ root=insert(root, vv.top()*arrayLetterNumber[18]);
root=insert(root, vv.top()*arrayLetterNumber[12]); }else{
}else{ insert(root, vv.top()*arrayLetterNumber[18]);
insert(root, vv.top()*arrayLetterNumber[12]); }
} sq.pop(); vv.pop();
sq.pop(); vv.pop(); } else if(sq.top()=='S'|| sq.top()=='s'){
} else if(sq.top()=='M' || sq.top()=='m'){ if (arrayName[0]=='S' || arrayName[0]=='s'){
if (arrayName[0]=='M' || arrayName[0]=='m'){ root=insert(root, vv.top()*arrayLetterNumber[19]);
root=insert(root, vv.top()*arrayLetterNumber[13]); }else{
}else{ insert(root, vv.top()*arrayLetterNumber[19]);
insert(root, vv.top()*arrayLetterNumber[13]); }
} sq.pop(); vv.pop();
sq.pop(); vv.pop(); } else if(sq.top()=='T' || sq.top()=='t'){
} else if(sq.top()=='N' || sq.top()=='n'){ if (arrayName[0]=='T' || arrayName[0]=='t'){
if (arrayName[0]=='N' || arrayName[0]=='n'){ root=insert(root, vv.top()*arrayLetterNumber[20]);
root=insert(root, vv.top()*arrayLetterNumber[14]); }else{
}else{ insert(root, vv.top()*arrayLetterNumber[20]);
insert(root, vv.top()*arrayLetterNumber[14]); }
} sq.pop(); vv.pop();
sq.pop(); vv.pop(); } else if(sq.top()=='U' || sq.top()=='u'){
} else if(sq.top()=='O' || sq.top()=='o'){ if (arrayName[0]=='U' || arrayName[0]=='u'){
root=insert(root, vv.top()*arrayLetterNumber[21]); cout << " ";
}else{ inOrderTraversal(root);
insert(root, vv.top()*arrayLetterNumber[21]); cout << endl;
} return 0;
sq.pop(); vv.pop(); }
} else if(sq.top()=='V'|| sq.top()=='v'){
if (arrayName[0]=='V' || arrayName[0]=='v'){
root=insert(root, vv.top()*arrayLetterNumber[22]);
}else{
insert(root, vv.top()*arrayLetterNumber[22]);
}
sq.pop(); vv.pop();
} else if(sq.top()=='W'|| sq.top()=='w'){
if (arrayName[0]=='W' || arrayName[0]=='w'){
root=insert(root, vv.top()*arrayLetterNumber[23]);
}else{
insert(root, vv.top()*arrayLetterNumber[23]);
}
sq.pop(); vv.pop();
} else if(sq.top()=='X' || sq.top()=='x'){
if (arrayName[0]=='X' || arrayName[0]=='x'){
root=insert(root, vv.top()*arrayLetterNumber[24]);
}else{
insert(root, vv.top()*arrayLetterNumber[24]);
}
sq.pop(); vv.pop();
} else if(sq.top()=='Y'|| sq.top()=='y'){
if (arrayName[0]=='Y' || arrayName[0]=='y'){
root=insert(root, vv.top()*arrayLetterNumber[25]);
}else{
insert(root, vv.top()*arrayLetterNumber[25]);
}
sq.pop(); vv.pop();
} else if(sq.top()=='Z' || sq.top()=='z'){
if (arrayName[0]=='Z' || arrayName[0]=='z'){
root=insert(root, vv.top()*arrayLetterNumber[26]);
}else{
insert(root, vv.top()*arrayLetterNumber[26]);
}
sq.pop(); vv.pop();
}
y++;
}

You might also like