Раскодировщик

Здесь приведен пример программы, в которой определяется функция для раскодирования текстового сообщения, представленного в виде целочисленного масси­ва. Аргументом функции является текстовая строка (реализованная в виде символьного массива), на основе которой выполняется раскодировка, а так­ же числовой массив, представляющий закодированный текст. Программный код представлен ниже.
#include 
#include 
using namespace std;
void decoder(char *s,int *cstr,int n){
char str[100];
int i;
for(i=0; i < n; i++){
 str[i]=s[cstr[i]];
}
str[n]='\0';
cout << str << endl;
}
int main(){
char s[]="He would remember that honesty is the best policy!";
int cstr[]={0,10,6,45,4,49,2,0,4,3,17,20,9,1,8,29,24,5};
decoder(s,cstr,18);
return 0;
}
Использованный здесь способ кодирования сообщений позволяет задавать одни и те же символы (буквы) различными цифрами - если соответствующая буква входит в базовую строку несколько раз. Кроме того, базовая строка должна быть достаточно длинной, чтобы она содержала все буквы алфавита - иначе возникнут проблемы с кодиров­кой. Ситуацию можно разрешать, заменяя при кодировке те символы, ко­торых нет в базовой строке, предопределенным набором цифр - например, элементов числового массива. В этом случае необходимо удостовериться в корректности кодирования, чтобы потом можно было выполнить обрат­ную операцию по раскодированию. Рассмотренный пример иллюстратив­ный, поэтому базовая строка выбрана относительно небольшой.
Онлайн всего: 3
Гостей: 3
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте