Форум программистов, компьютерный форум CyberForum.ru

Текстовые файлы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 13:44     Текстовые файлы #1
Задание:
Дана строка S, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской буквы, стоящей на K-й позиции строки, на букву того же регистра, расположенную в алфавите на SK-м месте после шифруемой буквы (для K = 11 снова используется смещение S1 и т. д.). Букву «ё» в алфавите не учитывать, знаки препинания и пробелы не изменять.

Набросок никаких нету, т.к. не понимаю даже суть. Напишите пожалуйста алгоритм или разъясните задание.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2011, 13:44     Текстовые файлы
Посмотрите здесь:

C++ Текстовые файлы
C++ Текстовые файлы
C++ Текстовые файлы в C++
C++ Текстовые файлы
C++ Текстовые файлы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ruu
13 / 13 / 1
Регистрация: 20.07.2010
Сообщений: 43
16.06.2011, 14:02     Текстовые файлы #2
Тебе необходимо создать строку из 10 цифр(это будет ключ шифрования) цифры могут быть любые, но крайнее значение это размер алфавита.
Создать массив для алфавита, по которому будет происходить замена.
Побайтово читаешь файл и каждый русский символ меняешь на символ из алфавита с номером i-ой позиции "ключа шифрования"
И так до конца файла.

Понятно объяснил?
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 14:08  [ТС]     Текстовые файлы #3
ну принцип да..я не понимаю на что именно нужно заменять?
Ruu
13 / 13 / 1
Регистрация: 20.07.2010
Сообщений: 43
16.06.2011, 14:18     Текстовые файлы #4
Цитата Сообщение от Дев4енка Посмотреть сообщение
ну принцип да..я не понимаю на что именно нужно заменять?
Ну вот смотри:
char alfabet[33] = {'а','б','в',...,'я'};
int key[10] = {15,18,1,2,3,20,7,9,6,30};

считала например символ 'в' из файла и его заменяешь на alfabet[15], то есть на key[0] b так в цикле до key[9], а потом все сначала.
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 14:27  [ТС]     Текстовые файлы #5
уже вообще ничего не понимаю...почему на первую цифру заменяем?
tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
16.06.2011, 14:37     Текстовые файлы #6
Цитата Сообщение от Ruu Посмотреть сообщение
Ну вот смотри:
char alfabet[33] = {'а','б','в',...,'я'};
int key[10] = {15,18,1,2,3,20,7,9,6,30};
считала например символ 'в' из файла и его заменяешь на alfabet[15], то есть на key[0] b так в цикле до key[9], а потом все сначала.
там вроде сказано на букву того же регистра, наверное имеется ввиду плюсовать к коду символа

Добавлено через 2 минуты

Не по теме:

Дев4енка, на тебя уже пол форума работает. Что ни текстовый файл так обязательно твоя тема

Ruu
13 / 13 / 1
Регистрация: 20.07.2010
Сообщений: 43
16.06.2011, 14:38     Текстовые файлы #7
Потому что это ключ))
Смотри:
"Привет Девченка" -- строка файла;
"1,2,3,4,5,6,7,8,9,10" -- ключ
"а,б,в,г,д,е,ж,з,и,к,л,м,н,...,я" -- полный алфавит
Чтобы зашифровать делаем как я сказал в предыдущем посте:
и получаем зашифрованное сообщение: абвгде жзиккабвг
А только я забыл сказать, что сдвиг циклический ключа делается:
то есть первые 10 символов заменили по ключу, потом сдвигаем циклически значения ключа и снова делаем 10 символов)
для первой итерации ключ -- "1,2,3,4,5,6,7,8,9,10"
для второй -- "10,1,2,3,4,5,6,7,8,9"
и т.д
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 14:40  [ТС]     Текстовые файлы #8
сори пожалуйста..обещаю летом подтянуть языки и сама буду помогать...извините...
Ruu
13 / 13 / 1
Регистрация: 20.07.2010
Сообщений: 43
16.06.2011, 14:40     Текстовые файлы #9
Цитата Сообщение от tylix Посмотреть сообщение
там вроде сказано на букву того же регистра, наверное имеется ввиду плюсовать к коду символа
ну я же не реализацию ей предложил, а принцип.
Я так понимаю у нее с шифрованием совсем беда)
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 14:43  [ТС]     Текстовые файлы #10
блин я вообще запуталась..так как замену производить?..вот например нашли букву.находим ее номер в алвафите(код).и что дальше прибалять чтбы найти на что заменить?

Добавлено через 29 секунд
у меня беда с логическим мышлением=)..
tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
16.06.2011, 14:45     Текстовые файлы #11

Не по теме:

но тут возникнет другая проблема, нужен массив, зашифрованного алфавита, что бы потом понять что менять обратно и на что )


угу... буду краток Ruu тебе осталось только предложить реализацию, родина тебя не забудет ))
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 14:52  [ТС]     Текстовые файлы #12
ахах...вот не надо иронии...если есть время и желание помочь..то можно..а если нету то ничег страшного..я преподу и так может сдам..без одного задания
Ruu
13 / 13 / 1
Регистрация: 20.07.2010
Сообщений: 43
16.06.2011, 14:54     Текстовые файлы #13
Черт, я сам накасячил))
tylix правильно написал -- "плюсовать к коду символа". Иначе расшифровать не получится
tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
16.06.2011, 15:00     Текстовые файлы #14
Цитата Сообщение от Ruu Посмотреть сообщение
Черт, я сам накасячил))
tylix правильно написал -- "плюсовать к коду символа". Иначе расшифровать не получится
только циферок должно быть (33 * 2 - не используемые), а у нас 10ть, малые заглавные, не то это
задание какое-то странное
или так расчитать чтобы при сложении не получился другой петаемый символ вроде .,[]{} и т.д

Добавлено через 4 минуты
и еще вопрос, а русский в какой кодировке CP866 CP1251 KOI8-R или еще какая?
Ruu
13 / 13 / 1
Регистрация: 20.07.2010
Сообщений: 43
16.06.2011, 15:01     Текстовые файлы #15
Цитата Сообщение от tylix Посмотреть сообщение
только циферок должно быть (33 * 2 - не используемые), а у нас 10ть, малые заглавные, не то это
задание какое-то странное
О__о зачем нам 33*2? 10 циферок это ключик, и 1-ое его значение плюсуешь к коду 1-го считанного символа 2 к 2ому и т.д. до конца ключа. А потом каждый полученный код переводишь в символ.

Само собой надо где то хранить рэндж кодов символов алфавита
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 15:03  [ТС]     Текстовые файлы #16
без понятия
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2011, 15:04     Текстовые файлы
Еще ссылки по теме:

C++ Текстовые файлы
C++ Текстовые файлы
Текстовые файлы в С++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
16.06.2011, 15:04     Текстовые файлы #17
http://ru.wikipedia.org/wiki/Симметричный_алгоритм
Yandex
Объявления
16.06.2011, 15:04     Текстовые файлы
Ответ Создать тему
Опции темы

Текущее время: 15:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru