Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <conio.h>
- using namespace std;
- struct NumberList
- {
- int number;
- NumberList *next;
- };
- void addToList(NumberList **headPointer, int num)
- {
- NumberList *pointer;
- pointer = *headPointer;
- if (pointer == NULL)
- {
- pointer = new NumberList;
- pointer->number = num;
- pointer->next = NULL;
- *headPointer = pointer;
- }
- else
- {
- while(pointer->next != NULL)
- {
- pointer = pointer->next;
- }
- pointer->next = new NumberList;
- pointer = pointer->next;
- pointer->number = num;
- pointer->next = NULL;
- }
- }
- int main()
- {
- ifstream myfile("cipher.txt");
- string cipher;
- if(!myfile)
- cout << "Nie można otworzyć pliku!" << endl;
- else
- {
- int stringLength, encryptedNumber;
- myfile >> cipher;
- NumberList *head;
- head = NULL;
- stringLength = cipher.length();
- encryptedNumber = 0;
- for (int i = 0; i < stringLength; i++)
- {
- if (cipher[i] != ',')
- {
- encryptedNumber = encryptedNumber*10 + cipher[i] - 48;
- }
- else
- {
- addToList(&head, encryptedNumber);
- encryptedNumber = 0;
- }
- }
- addToList(&head, encryptedNumber);
- NumberList *pointer;
- int decryptedSum = 0;
- for (int i = 103; i < 104; i++)
- {
- for (int j = 111; j < 112; j++)
- {
- for (int k = 100; k < 101; k++) // 97-122
- {
- int letterSwitch = 0;
- int key, decrypted;
- pointer = head;
- while(pointer != NULL)
- {
- switch(letterSwitch)
- {
- case 0:
- key = i;
- break;
- case 1:
- key = j;
- break;
- case 2:
- key = k;
- break;
- }
- decrypted = pointer->number ^ key;
- decryptedSum += decrypted;
- cout << (char)decrypted;
- letterSwitch++;
- letterSwitch %= 3;
- pointer = pointer->next;
- }
- cout << endl;
- }
- }
- }
- cout << endl << endl << endl;
- cout << "Suma kodow ASCII rozszyfrowanych liter: " << decryptedSum;
- }
- myfile.close();
- getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement