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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
#1

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

16.06.2011, 13:44. Просмотров 1315. Ответов 16
Метки нет (Все метки)

Задание:
Дана строка S, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской буквы, стоящей на K-й позиции строки, на букву того же регистра, расположенную в алфавите на SK-м месте после шифруемой буквы (для K = 11 снова используется смещение S1 и т. д.). Букву «ё» в алфавите не учитывать, знаки препинания и пробелы не изменять.

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

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки)) - C++
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

текстовые файлы - C++
Дан текстовый файл f.Переписатьв файл g все компоненты файла f с заменой в них символа 0 на символ 1 и наоборот Добавлено через 1 час...

Текстовые файлы в С++ - C++
Помогите написать программу которая определяет количество слов в каждой строке, и нужно сжать каждую строку, удалив все лишние пробелы

Текстовые файлы - C++
Имеется текстовый файл. Все четные строки этого файла записать во второй, а нечетные в третий файл. Порядок следования строк сохраняется. ...

Текстовые файлы - C++
Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла. Как это решить?...

Текстовые файлы - C++
добрый день, помогите написать следующую программу (plz ... plz ... plz ))) : Случайным образом создать таблицу пар символьных...

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

Понятно объяснил?
1
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 14:08  [ТС] #3
ну принцип да..я не понимаю на что именно нужно заменять?
0
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], а потом все сначала.
0
Дев4енка
0 / 0 / 0
Регистрация: 26.03.2011
Сообщений: 85
16.06.2011, 14:27  [ТС] #5
уже вообще ничего не понимаю...почему на первую цифру заменяем?
0
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енка, на тебя уже пол форума работает. Что ни текстовый файл так обязательно твоя тема

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

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

Не по теме:

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


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

Добавлено через 4 минуты
и еще вопрос, а русский в какой кодировке CP866 CP1251 KOI8-R или еще какая?
0
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ому и т.д. до конца ключа. А потом каждый полученный код переводишь в символ.

Само собой надо где то хранить рэндж кодов символов алфавита
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2011, 15:01
Привет! Вот еще темы с ответами:

Текстовые файлы - C++
Здесь так много умных людей, что не удержался и опять решил попросить помощи, т.к. в прошлые 2 раза очень сильно помогли. Вроде потом...

Текстовые файлы - C++
Когда сдавал программу, придрались к тому, что у меня файл считывается в строку. Как исправить? #include <iostream.h> #include...

Текстовые файлы в С++ - C++
Добрый день. В летнюю практику входило задание написать программу в среде visual studio c++... Но за лето, конечно, забылась большая...

Текстовые файлы в C++ - C++
Помогите пожалуйста написать прогу по файлам в С++. Вот задание:


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.06.2011, 15:01
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru