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

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

Войти
Регистрация
Восстановить пароль
 
auqarisu
5 / 5 / 0
Регистрация: 11.04.2011
Сообщений: 77
#1

Алгоритм на С/С++ не могу перевести в Паскаль! - C++

12.01.2012, 01:12. Просмотров 718. Ответов 10
Метки нет (Все метки)

Всем привет! Пишу курсовую по дискретной математике, задание написать архиватор текста! В книге Д. Ватолин, А. Ратушняк. - Методы сжатия данных, устройства архиваторов. Выбрал метод LZ78 и там дан пример алгоритма на С++ или С точно не могу сказать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
n  =  1;
while   (  !  DataFile.EOF()   ){
s = DataFile.ReadSymbol; // читаем очередной  символ
/'пытаемся  найти в словаре фразу,  представляющую
собой конкатенацию  родительской  фразы с номером л и
символа s; функция  возвращает номер искомой  фразы
в phrase_num;  если же фразы нет, то phrase_num
принимает  значение 1, т. е. указывает на пустую  фразу
*/
FindPhrase  (&phrase_num, n,  s ) ;
if  (phrase_num  != 1)
/*такая фраза имеется в словаре, продолжим  поиск
совпадающей  фразы максимальной  длины
*/
n = phrase_num;  '
else {
/*такой фразы нет, запишем в выходной файл код;          :
INDEX_LN - это константа,  определяющая  длину
битового представления  номера n
*/
CompressedFile.WriteBits  (n, INDEX_LN);
CompressedFile.WriteBits  (s, 8) ;
AddPhrase  (n, s ) ; // добавим фразу в словарь
n = 1; // подготовимся к следующему шагу
// признак конца файла
CompressedFile.WriteBits  (0, INDEX_LN);
Времени у меня осталось мало, решил писать на паскале. С++ мы проходили но я его не очень хорошо понял, по сравнению с паскалем.
У меня возникла проблема. Что есть - "CompressedFile.WriteBits" ? В начале я думал это выходной файл в который записывается результат кодирования, но мне сказали что это какой то класс. Объясните пожалуйста!

З.Ы. Может вы знаете более простой алгоритм а реализации на паскале?
ссылка на скачивание книги
 Комментарий модератора 
А вот выкладывать книги без разрешения автора не надо!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2012, 01:12     Алгоритм на С/С++ не могу перевести в Паскаль!
Посмотрите здесь:

перевести с Паскаль - C++
123

Перевести с Паскаль на С++ - C++
Само задание: вводить массив малых латинских букв, и отсортировать в алфавитном порядке program sort; var s:string; i,j:integer; ...

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

Перевести с Паскаль на С++ - C++
я не знал извините то поможете

Перевести с паскаль на С++ - C++
uses crt; var m,k, a, b, c, d,v: integer; n,p,z, i,q: real; s:string; function NOD(x,y:integer):integer; Begin If x<>0 then...

Перевести с Паскаль на С++ - C++
uses crt; var s:string; i:integer; a: set of char; begin clrscr; a:=; writeln('vvedite stroku'); readln(s);

Перевести код Паскаль на С++ - C++
uses crt,dos; type te=record kal,ves,dl,vis:string; med:string; pr_nom:string; end; var f:file of...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.01.2012, 01:17     Алгоритм на С/С++ не могу перевести в Паскаль! #2
CompressedFile - это объект какого-то класса, a CompressedFile.WriteBits(...) - вызов метода для этого объекта
auqarisu
5 / 5 / 0
Регистрация: 11.04.2011
Сообщений: 77
12.01.2012, 01:18  [ТС]     Алгоритм на С/С++ не могу перевести в Паскаль! #3
А вы можете по подробнее рассказать?
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.01.2012, 01:19     Алгоритм на С/С++ не могу перевести в Паскаль! #4
Цитата Сообщение от auqarisu Посмотреть сообщение
А вы можете по подробнее рассказать?
куда уж подробней, ответ дан в рамках приведеного вами кода
auqarisu
5 / 5 / 0
Регистрация: 11.04.2011
Сообщений: 77
12.01.2012, 01:26  [ТС]     Алгоритм на С/С++ не могу перевести в Паскаль! #5
Можете примерный вариант реализации на паскале показать?
я тут пытался вот результат:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
begin
     {otkrivaem fily}
     OpenFiles;
 
     while (not EoF(inf)) do
     begin
          n:=1;
          read(inf,s);
          phrase_num:=FindPhrase(n, s);
          if (phrase_num <> 1) then
             n:=phrase_num
          else
          begin
               write(outf, n:INDEX_LN, s:8);
               AddPhrase(n, s);
               n:=1;
          end;
     end;
 
     {zakryvaem faily}
     CloseFile;
end.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
12.01.2012, 01:32     Алгоритм на С/С++ не могу перевести в Паскаль! #6
Цитата Сообщение от auqarisu Посмотреть сообщение
Можете примерный вариант реализации на паскале показать?
откуда мы знаем что внутри ваших классов? они не стандартны, привидите полный код на С++ мб тогда кто-нибудь и напишет вам на паскале
auqarisu
5 / 5 / 0
Регистрация: 11.04.2011
Сообщений: 77
12.01.2012, 01:44  [ТС]     Алгоритм на С/С++ не могу перевести в Паскаль! #7
Не ловко как-то но весь код который у меня есть это то что написано в книге на странице 88. А ссылка на книгу указана выше, страницу с алгоритмом LZ78 не смог отделить. Подробнее можно посмотреть там
easybudda
12.01.2012, 01:54
  #8

Не по теме:

Цитата Сообщение от auqarisu Посмотреть сообщение
Подробнее можно посмотреть там
Вы лучше адрес напишите, куда подъехать и за Вас всё сдать...

auqarisu
5 / 5 / 0
Регистрация: 11.04.2011
Сообщений: 77
12.01.2012, 02:02  [ТС]     Алгоритм на С/С++ не могу перевести в Паскаль! #9
Ясно, спс за помощь.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
12.01.2012, 03:25     Алгоритм на С/С++ не могу перевести в Паскаль! #10
auqarisu, понимаешь, то что ты дал называется псевдокод. то есть несет в себе смысловую нагрузку на уровне больше русского языка чем кода.
функции которые ты привёл придется в любом случае реализовывать самому.
Цитата Сообщение от auqarisu Посмотреть сообщение
В начале я думал это выходной файл в который записывается результат кодирования, но мне сказали что это какой то класс.
класс. лишь обертка для того самого файла результата.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2012, 15:01     Алгоритм на С/С++ не могу перевести в Паскаль!
Еще ссылки по теме:

Подскажите как перевести из с++ в паскаль - C++
Нужно перевести из с++ в борланд паскаль, или paskal.ABC.Net Задача программы такая: В честь успешного окончания первой четверти...

Перевести программу с языка Паскаль на С++ - C++
Требуется перевести программу задания С4 из ЕГЭ 2012 с языка Паскаль\Бейсик на язык С++. Задание представлено на странице 23 под пунктом...

Перевести программу с языка Паскаль в язык С++ - C++
Имееться задача на Pascale: {Метод Ньютона решения нелинейного уравнения} program Newton; uses crt; {модуль управления экраном} ...

Перевести с паскаль на с++ (Найти количество четных цифр) - C++
14 var a, b, k : integer; begin k := 0; write('введите число: '); readln(a); while a &lt;&gt; 0 do begin b := a...

по теме текстовые файлы.нужно перевести в паскаль,пожалуйста - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; using namespace std; int main() { ifstream F(&quot;1.txt&quot;); ...


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

Или воспользуйтесь поиском по форуму:
auqarisu
5 / 5 / 0
Регистрация: 11.04.2011
Сообщений: 77
12.01.2012, 15:01  [ТС]     Алгоритм на С/С++ не могу перевести в Паскаль! #11
Может быть кто нибудь знает хорошие книги про архивирование текста?
Yandex
Объявления
12.01.2012, 15:01     Алгоритм на С/С++ не могу перевести в Паскаль!
Ответ Создать тему
Опции темы

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