ЧчЦцЧчШшЩщІіЄєЮюЯя

int i=0;

while (text[i]=’\0’) //використання \0

{m=0; for (int j=0; j<=126; j++)

{if (text[i]= = alphabet[j])

{text[i]= alphabet[126-j]; m++; break; };

if (m= =0) cout<<”\n невизначений знак “

<<text[i]; i++; };

}

Кожний символ text (буква, знак або команда) порівнюються з символами ключового масиву. При збігу символ тексту замінюється по обумовлюючому правилу: коли цикл порівняний переривається, починається обробка наступного символу. Коли відповідний символ у ключовому масиві не знайдений, то замінна не здійснюється, на екрані висвітлюється попереджуючий запис, знак передається у текст, що обробляється, у початковому вигляді. Для індексації невизначених знаків використовується індекс m, котрій при зміні символу міняє своє значення з 0 на 1. Невпізнані знаки не враховуються при роботі алгоритму, але їх кількість повинна бути розумною, тому що у протилежному випадку текст не буде зашифрований.

Однак, порядок знаків в alphabet не впливає на роботу алгоритму, що дозволяє робити різні шифрограми.

Програма PART3\3_10 за допомогою функції-підпрограми tarabar зашифровує та розшифровує відомий англійський стирок і його перевід на російську мову. У кінці тексту додаються два знаки (# і $), котрих немає у ключовому масиві.

Рядки (у подвійних лапках) тексту і ключового масиву у програмі повинні бути записані в одному рядку. Розділення обох текстів на декілька рядків у програмі зроблено тимчасово, тільки для зручності друку. При виводі результату на екран комп’ютер сам розділяє довгий рядок на частини, які розміщуються на екрані. Коли у рядку, що виводиться на екран, є символ \n, команда виконується, але сама керуюча послідовність не виводиться

Результат виконання програми шифровки і розшифровки тексту розглянутий нижче.


Оглядові запитання

1. Який фрагмент у функції-підпрограми tarabar?

2. Що містить константний масив alphabet?

3. Як сприймаються команди \ n, \0?

4. З чим порівняється кожний символ text у програмі?

5. Що робиться, коли відповідний символ у ключовому масиві не знайдений?

6. Як реагує алгоритм, коли зустрічається невизначений знак?

7. Що робить функція-підпрограма tarabar?

8. Як повинні записуватися рядки тексту у подвійних лапках?



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: