2015-07-28 1 views
-4

Шифр ​​должен взять строку, введенную пользователем, а затем выплюнуть зашифрованный код.Привет, Я пытаюсь написать обратный код шифрования в C++. Я изо всех сил пытаюсь начать и может использовать некоторые рекомендации?

Итак, если строка ABCD, тогда шифрование ZYXW.

Но я изо всех сил пытаюсь понять, как начать писать функцию. Я хочу использовать функцию, а затем вызвать ее в основной функции, когда мне это нужно! Благодарю.

+0

Я сожалею мой код не был достаточно полным, чтобы включить в этот вопрос. Поэтому я не думаю, что это было бы полезно. – agenise1

+0

В чем вопрос? – yizzlez

+0

Как создать функцию, которая возьмет букву A и обменять ее на Z, чтобы зашифровать фразу. @awesomeyi – agenise1

ответ

0
#include<iostream> 

using namespace std; 

int main() { 

    char a[100]; 
    cout<<"Enter A String :"; 
    cin>>a; 

    //Your Function Calling Should Be this 
    //Supposing all characters are uppercase 

    int st = 65 , et = 90; 
    char b[100]; 
    for(int i=0;a[i]!='\0';i++){ 
     b[i] = et - (a[i] - 65); 
    } 
    cout<<"\nYour Answer :"<<b; 

    return 0; 
} 

Это будет работать для вас

+0

Не могли бы вы немного объяснить это? Как то, что каждая часть делает @bhaveshkumar – agenise1

+0

В соответствии с вашим вопросом вы хотите, чтобы символ был закодирован в строке как его появление в алфавите, но в ** REVERSE ** порядке. –

+0

Итак, я устанавливаю начальную ссылку st = 65 как «A» = 65 (код ASCII) и et = 90 как код «Z» = 90 (ASCII). Теперь я просто подсчитаю номер его появления, вычитал его из et, чтобы получить его появление из REVERSE alphabets –

0

Вы можете использовать эту функцию:

char convert(char c) { 
    return 'Z' - (c - 'A'); 
} 

использовать его как это:

std::transform(s.begin(), s.end(), s.begin(), convert); 

s является строка, которую вы хотите конвертировать.

Demo

+0

будет ли это работать для всех букв алфавита? Также, как это работает? Извините, я новичок @awesomeyi – agenise1

+0

@ agenise1 Он вызывает функцию преобразования на каждой букве строки – yizzlez

+0

, так что c - это просто случайная величина? – agenise1

Смежные вопросы