Помогите доработать программу
Программа работает, но нужно немного ее улучшить . Но нужно чтобы у одинаковых слов были разные коды. (Напр. если в книге 3 союза " и" , а мы вводим 5 , то программа должна при шифровке вывести 1 2 3 1 2)
Код:
{ Нужно реализовать шифровку и расшифровку с помощью кодировочной книги. } |
И ведь каждый раз прошу: сформулируйте исходное задание, опишите (подробно!) применяемый алгоритм шифрования и т.п. Нет - всё мимо. Чирик-чирик, вот программа - исправьте.
Ну как знаете. Ждите - может быть и найдётся энтузиаст, который по неотлаженной программе восстановит алгоритм, разберется "что имел в виду программист" и отладит код. Но я - не он. |
{ Нужно реализовать шифровку и расшифровку с помощью кодировочной книги. }
Алгоритм , если что был указан. Но вот еще раз более подробно: реализация шифрования и расшифровки методом «Кодировочная книга». При этом будем считать, что кодом служит позиция слова в кодировочной книге (специально подготовленном файле), причем, если слово встречается несколько раз и в открытом тексте, и в кодировочной книге, в закрытом тексте для одного и того же слова будут использованы разные коды. |
Уф, ну - получите.
1. Исправлено довольно много ошибок. Например, объявление в списке параметров функции строку константой - абсурд. Ну и еще по мелочи. Кстати, ну зачем тут функция? По всем статьям подходит процедура. 2. Английские надписи можете обратно заменить русскими: просто мне с кириллицей работать неудобно (у меня DOS-кодировка). 3. Путь к файлу-книге, естественно, исправьте по своему усмотрению. Код:
const |
Спасибо большое, вы очень помогли. Книга работает, но она читает если только текст в книге записан в одну строку , не подскажите как сделать, чтобы программа читала из книги в которой больше чем 1 строка?
тут выдается ошибка Код:
if (txt[i]=book[j]) and (j>posit[i]) then |
Цитата:
Цитата:
Если не секрет, покажите, пожалуйста, Вашу книгу и кодируемый текст. Просто в текстовом виде. |
Вложений: 1
Вложение 315645
........... |
А, ну тогда понятно... В Вашем файле - 661 символ, а уж слов - даже и не знаю, может быть и больше 200. А Вы пытаетесь считывать строку...
Мне кажется, тут надо бы ограничиться строкой с количеством символов не более 255. Или кардинально переделать часть программы, где разделение книги на слова: считывать данные из файла посимвольно и "на лету" отделять буквы от разделителей и формировать массив слов. Совсем другая задача. |
Но так в моей изначальной программе все нормально шифровало и расшифровывалось из этой книги, кроме повторяющихся слов, вместо разных кодов выводило один и тот же столько раз, сколько я ввела слов
|
Цитата:
|
Попробуйте такой вариант: тут все byte заменены на Integer. Может быть, прокатит.
Код:
const |
Часовой пояс GMT +4, время: 03:19. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.