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

перевод из PASCAL в C++ (сжатие методом Шеннона-Фано) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции пользователя C http://www.cyberforum.ru/cpp-beginners/thread188655.html
1) Даны три натуральных числа. Определить их наибольший делитель (определение HOD – см. N 10). 2) Имеется n населенных пунктов, перенумерованных от 1 до n (n=10). Некоторые пары пунктов соединены дорогами. Определить, можно ли попасть по этим дорогам из первого пункта в n-й пункт. Информация о дорогах задается в виде последовательности пар чисел i и j ( i<j ) указывающих, что i-й и ј-й...
C++ Как запретить ввод некоторых символов в консольном приложение написанном на C#? Тема удалена!!! http://www.cyberforum.ru/cpp-beginners/thread188651.html
Запись структуры в файл C++
Есть структура из 3 чисел типа дабл, нужно записать в файл .тхт (каждая запись на новой строке) так, что бы потом можно было его открыть и, соответственно, самому прочитать что там записано :) Как сделать? Спасибо. зы Как записать в файл знаю
C++ Сложить две знаковые константы
В ячейке, размером в 1 байт, сложить две знаковые константы: 87 + 42 Объяснить полученный результат. Хотелось бы разобраться в этом. Заранее спасибо.
C++ Дана строка из нулей и единиц. Подсчитать количество символов в самой длинной группе http://www.cyberforum.ru/cpp-beginners/thread188611.html
Дана строка, состоящая из групп нулей и единиц. Подсчитать количест-во символов в самой длинной группе.
C++ Рекурсия Здравствуйте, писали на лабораторной программу с использованием рекурсии, о бъясните почему в ответе двойки выдает?? и что рекурсивная часть собственно делает? #include <stdio.h>; void KOL(int N, int A, int k){ int i,j,s; for (i=0;i<N;i++) { s=0; for(j=0;j<N;j++) if (A>0) подробнее

Показать сообщение отдельно
Chel
0 / 0 / 0
Регистрация: 20.05.2008
Сообщений: 19
09.11.2010, 20:40     перевод из PASCAL в C++ (сжатие методом Шеннона-Фано)
Есть код на pascal
может кто-нибудь помочь перевести на с++ ?

Pascal
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
uses crt;
var
   c:char;
   s,s1,s2:string;
   i,n,j,j1:byte;
   a:array [1..255] of byte;
   str:array [1..255] of string[9];
   st:array [1..255] of string[100];
   f,f1,f2:text;
begin clrscr;
assign(f,'Cod.txt');assign(f1,'Bukv.txt');assign(f2,'1&0.txt');
rewrite(f);rewrite(f1);rewrite(f2);
writeln('Введите строку');readln(s);
s2:=s;
while length(s) <> 0 do
begin
s1:=s1+s[1];
 for i:=1 to length(s) do
  if (s1[length(s1)] = s[i])and(pos(s1[length(s1)],s) <> 0) then
  begin
  inc(n);delete(s,pos(s1[length(s1)],s),1);dec(i);
  end;
a[length(s1)]:=n;n:=0;
end;
 for j:=1 to 10 do
  for i:=1 to length(s1) do
  begin
   if (a[i] > a[i-1])and(i<>1) then
   begin
   n:=a[i];a[i]:=a[i-1];a[i-1]:=n;
   c:=s1[i];s1[i]:=s1[i-1];s1[i-1]:=c;
   end;
    if (a[i] < a[i+1])and(i<>0) then
    begin
    n:=a[i];a[i]:=a[i+1];a[i+1]:=n;
    c:=s1[i];s1[i]:=s1[i+1];s1[i+1]:=c;
    end;
   end;
    for i:=1 to length(s1) do
    st[i]:=s1[i];
   i:=length(s1);
    while length(s1) <> length(st[1]) do
    begin
     for n:=1 to length(st[i]) do
     begin
     j:=pos(st[i][n],s1);
      if a[i] > a[i-1] then str[j]:='1'+str[j]
      else str[j]:='0'+str[j];
     end;
      for n:=1 to length(st[i-1]) do
      begin
      j:=pos(st[i-1][n],s1);
       if a[i] > a[i-1] then str[j]:='0'+str[j]
        else str[j]:='1'+str[j];
      end;
     a[i-1]:=a[i]+a[i-1];a[i]:=0;
     st[i-1]:=st[i-1]+st[i];st[i]:='';dec(i);
  for j1:=i downto 1 do
  begin
   if (a[j1] > a[j1-1])and((j1-1) <> 0) then
   begin
   n:=a[j1];a[j1]:=a[j1-1];a[j1-1]:=n;
   s:=st[j1];st[j1]:=st[j1-1];st[j1-1]:=s;
   end;
  end;
    end;
 for i:=1 to length(s2) do
 begin
 write(f2,str[pos(s2[i],s1)],' ');
 write(str[pos(s2[i],s1)],' ');
 end;
  for i:=1 to length(s1) do
  begin
  write(f1,s1[i],' ');
  write(f,str[i],' ');
  end;
close(f);close(f1);close(f2);
end.
буду благодарен, если заодно поможете сделать представление не в байтовом, а в битовом виде

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