Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

c++ 2 курс / вариант 13

.txt
Скачиваний:
19
Добавлен:
12.02.2015
Размер:
2 Кб
Скачать
#include<iostream>
#include<locale>
#include<windows.h>

using namespace std;

int main() {

setlocale(LC_ALL, ".1251"); // русский яз


int maxLen = 0; // макс длина
cout<<"Введите максимальную длину строки: ";
cin>>maxLen;
char *str = new char[maxLen]; // объявляем массив с набором символов

cin>>str; // ввод набора символов
if (strlen(str) <= maxLen) { // если мы ввели символов меньше или столько же сколько максимум идем дальше

maxLen = strlen(str);
cout<<"Введите слово"<<endl;
char *word = new char[maxLen]; //объявляем слово которое будет кодировать
cin>>word;// вводим его
int *wordHash = new int[maxLen];// объявляем массив для хранения ключей символов в слове
int k = 0;

for (int i = 0; i < strlen(word); i++) { // набор символов

bool flag = false; // флаг устанавливает в ложь
for (int j = 0; j < strlen(str); j++) { // слово

if (word[i] == str[j]) {// каждую букву слова ищем в наборе символов если находим устанавливаем флаг в истину
flag = true;
wordHash[k] = j; // как только нашли нужную букву записали ее в ключи массив
cout<<wordHash[k]; // вывод элементов маасива ключей
k++;
}
}

if (!flag) {

cout<<"В слове найдены лишние символы"<<endl;
system("pause");
return 0;
}
}
cout<<endl;
int len = 0;
cout<<"Введите длину ключа"<<endl;
cin>>len;

int *salt = new int[len]; // массив с ключем по которому будем шифровать
cout<<"Введите ключ"<<endl;

for (int i = 0; i < len; i++) // посимпольный ввод чз пробел или инт
cin>>salt[i];

for (int i = 0; i < k; i++) { //шифрование

cout<<(wordHash[i] + salt[i % len]) % 10; // берем каждый ключ из массива ключей и складываем его с

// соответствующим элементом массива ключа для шифрования
}

cout<<endl;
}
else {

cout<<"ERROR"<<endl;
}

system("pause");
return 0;
}
Соседние файлы в папке c++ 2 курс