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

Перевод с Pascal на С++(16 строк) - C++

Восстановить пароль Регистрация
 
Desirehdman
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 5
10.05.2013, 16:28     Перевод с Pascal на С++(16 строк) #1
Всем добрый день!
Так и не разобрался как пользоваться транслятором.
Помогите пожалуйста перевести эти несчастные 16 строк..
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program strug_production;
var s_out, s_in, str,itogstroka,tekbukva: string;
fa: text;
ik, len, n: integer;
begin
  assign(fa, 'c:\text.txt');
  reset (fa);
  
  itogstroka:='';
  {раскладываем строчку из файла}
  while not Eof(fa) do begin
    readln (fa, str);
    len:=length(str);
    n:=1;
    While n<len+1 do begin
        tekbukva:= Copy(str, n, 1);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 16:28     Перевод с Pascal на С++(16 строк)
Посмотрите здесь:

C++ перевод с Pascal на C++
C++ Перевод с Pascal на C++
C++ Перевод из Pascal в C++
Перевод из Pascal в С++ C++
C++ Перевод из Pascal в C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
10.05.2013, 19:11     Перевод с Pascal на С++(16 строк) #2
Desirehdman, а само задание озвучьте. Или предоставьте весь код.
Desirehdman
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 5
10.05.2013, 19:28  [ТС]     Перевод с Pascal на С++(16 строк) #3
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
program strug_production;
var s_out, s_in, str,itogstroka,tekbukva: string;
fa: text;
ik, len, n: integer;
begin
  assign(fa, 'c:\text.txt');
  reset (fa);
  
  itogstroka:='';
  {раскладываем строчку из файла}
  while not Eof(fa) do begin
    readln (fa, str);
    len:=length(str);
    n:=1;
    While n<len+1 do begin
        tekbukva:= Copy(str, n, 1);
        If (tekbukva='A')or(tekbukva='B')or(tekbukva='C')or(tekbukva='D')or(tekbukva='E')or(tekbukva='F')or(tekbukva='G')or(tekbukva='H')or(tekbukva='I')or
        (tekbukva='J')or(tekbukva='K')or(tekbukva='L')or(tekbukva='M')or(tekbukva='N')or(tekbukva='O')or(tekbukva='P')or(tekbukva='R')or(tekbukva='S')or
        (tekbukva='T')or(tekbukva='U')or(tekbukva='V')or(tekbukva='W')or(tekbukva='X')or(tekbukva='Y')or(tekbukva='Z')or(tekbukva='А')or(tekbukva='Б')or
        (tekbukva='В')or(tekbukva='Г')or(tekbukva='Д')or(tekbukva='Е')or(tekbukva='Ё')or(tekbukva='Ж')or(tekbukva='З')or(tekbukva='И')or(tekbukva='Й')or 
        (tekbukva='К')or(tekbukva='Л')or(tekbukva='М')or(tekbukva='Н')or(tekbukva='О')or(tekbukva='П')or(tekbukva='Р')or(tekbukva='С')or(tekbukva='Т')or(tekbukva='У')or
        (tekbukva='Ф')or(tekbukva='Х')or(tekbukva='Ц')or(tekbukva='Ч')or(tekbukva='Ш')or(tekbukva='Щ')or(tekbukva='Ъ')or(tekbukva='Ы')or(tekbukva='Ь')or(tekbukva='Э')or
        (tekbukva='Ю')or(tekbukva='Я') Then
         Begin
          itogstroka:=itogstroka+'B';         
         end
        Else itogstroka:=itogstroka+'A';
        n:=n+1;
    end;
    writeln(itogstroka);    
  end;
  
  {расшифровка}
  len:=length(itogstroka);
  n:=1;
  While n<len+1 do begin
      tekbukva:= Copy(itogstroka, n, 5);
      If (tekbukva='AAAAA')Then Write('a') Else 
      If (tekbukva='AAAAB')Then Write('b') Else
      If (tekbukva='AAABA')Then Write('c') Else
      If (tekbukva='AAABB')Then Write('d') Else
      If (tekbukva='AABAA')Then Write('e') Else
      If (tekbukva='AABAB')Then Write('f') Else
      If (tekbukva='AABBA')Then Write('g') Else
      If (tekbukva='AABBB')Then Write('h') Else
      If (tekbukva='ABAAA')Then Write('i') Else
      If (tekbukva='BBBAA')Then Write('j') Else
      If (tekbukva='ABAAB')Then Write('k') Else
      If (tekbukva='ABABA')Then Write('l') Else
      If (tekbukva='ABABB')Then Write('m') Else
      If (tekbukva='ABBAA')Then Write('n') Else
      If (tekbukva='ABBAB')Then Write('o') Else
      If (tekbukva='ABBBA')Then Write('p') Else
      If (tekbukva='ABBBB')Then Write('q') Else
      If (tekbukva='BAAAA')Then Write('r') Else
      If (tekbukva='BAAAB')Then Write('s') Else
      If (tekbukva='BAABA')Then Write('t') Else
      If (tekbukva='BAABB')Then Write('u') Else
      If (tekbukva='BBBAB')Then Write('v') Else
      If (tekbukva='BABAA')Then Write('w') Else
      If (tekbukva='BABAB')Then Write('x') Else
      If (tekbukva='BABBA')Then Write('y') Else
      If (tekbukva='BABBB')Then Write('z') Else
      Write('');
      n:=n+5;
  end;
  
  close(fa);
  {readln;}
end.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
10.05.2013, 20:28     Перевод с Pascal на С++(16 строк) #4
Ну вот первая часть:
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
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
   // TODO: Желательно проверить на открытие
   ifstream f("c:/text.txt");
 
   const string CAbc = "ABCDEFGHIJKLMNOPQRSTUWVXYZ"
                       "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
 
   string str, result;
   while (!f.eof())
   {
      getline(f, str);
 
      for (size_t i = 0; i < str.size(); ++i)
      {
         if (CAbc.find_first_of(str[i]) != string::npos)
         {
            result += 'B';
         }
         else
         {
            result += 'A';
         }
      }
   }
 
   cout << result << endl;
 
   return 0;
}
Desirehdman
0 / 0 / 0
Регистрация: 08.05.2013
Сообщений: 5
10.05.2013, 23:17  [ТС]     Перевод с Pascal на С++(16 строк) #5
Спасибо огромное!
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
14.05.2013, 06:00     Перевод с Pascal на С++(16 строк) #6
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
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
#include <iostream>
#include <fstream>
#include <string>
#include <map>
 
using namespace std;
 
int main()
{
   // TODO: Желательно проверить на открытие
   ifstream f("program.cpp");
 
   const string CAbc = "ABCDEFGHIJKLMNOPQRSTUWVXYZ"
                       "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
 
   string str, result;
   while (!f.eof())
   {
      getline(f, str);
 
      for (size_t i = 0; i < str.size(); ++i)
      {
         if (CAbc.find_first_of(str[i]) != string::npos)
         {
            result += 'B';
         }
         else
         {
            result += 'A';
         }
      }
   }
 
   cout << result << endl << endl;;
 
   std::map<string, char> hashmap;
   hashmap["AAAAA"] = 'a';
   hashmap["AAAAB"] = 'b';
   hashmap["AAABA"] = 'c';
   hashmap["AAABB"] = 'd';
   hashmap["AABAA"] = 'e';
   hashmap["AABAB"] = 'f';
   hashmap["AABBA"] = 'g';
   hashmap["AABBB"] = 'h';
   hashmap["ABAAA"] = 'i';
   hashmap["BBBAA"] = 'j';
   hashmap["ABAAB"] = 'k';
   hashmap["ABABA"] = 'l';
   hashmap["ABABB"] = 'm';
   hashmap["ABBAA"] = 'n';
   hashmap["ABBAB"] = 'o';
   hashmap["ABBBA"] = 'p';
   hashmap["ABBBB"] = 'q';
   hashmap["BAAAA"] = 'r';
   hashmap["BAAAB"] = 's';
   hashmap["BAABA"] = 't';
   hashmap["BAABB"] = 'u';
   hashmap["BBBAB"] = 'v';
   hashmap["BABAA"] = 'w';
   hashmap["BABAB"] = 'x';
   hashmap["BABBA"] = 'y';
   hashmap["BABBB"] = 'z';
 
   for (size_t i = 0; i < result.length(); i += 5)
   {
      std::cout << hashmap[result.substr(i, 5)];
   }
 
   return 0;
}
Yandex
Объявления
14.05.2013, 06:00     Перевод с Pascal на С++(16 строк)
Ответ Создать тему
Опции темы

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