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

C++ Builder

Войти
Регистрация
Восстановить пароль
 
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
#1

Перевод кода с Pascal на C++ - C++ Builder

01.11.2012, 20:41. Просмотров 1048. Ответов 13
Метки нет (Все метки)

Доброго времени суток!
Помогите перевести код с Pascal на C++.
Простой код перевел бы и сам, но здесь не так все просто (((
Программа для разрешение коллизий при хешировании методом цепочек...


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
type 
    link = ^node;
    node = record
    key: integer;
    st: string;
    next: link;
end;
 
var
    mas: array[0..9] of link;
 
function h(key: integer): integer;
begin
    h:=key mod 10;
end;
 
function search(key1: integer; st1: string): link;
var
    i: integer;
    q, p, s: link;
begin
    i:= h(key1);
    q:=nil;
    p:=mas[i];
    while p <> nil do
    begin
        if p^.key = key1 then
        begin
                search:=p;
                exit;    
        end;
        q := p;
        p := p^.link;
    end;
    {Если ключ не найден, вставляем новую запись}
    new(s);
    s^.key:=key1;
    s^.st:=st1;
    s^.next:=nil;
    if q = nil then
    mas[i]:=s
    else
    q^.next:=s;
    search:=s;
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 20:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перевод кода с Pascal на C++ (C++ Builder):

Перевод Pascal в С++, всего 3 объявления функции - C++ Builder
TMatrix=array of real; TCore=array of array of real; TRGB=record i,r,g,b:integer; end; ...

перевод кода с C# на C++ - C++
/// &lt;summary&gt; /// Description of MainForm. /// &lt;/summary&gt; public partial class MainForm : Form { int N; // кол-во измерений...

Перевод кода с С++ на С++ Builder - C++ Builder
Прошу помочь перевести этот же код, он у меня программа должна находить в Memo1 слова состоящие из четырех букв, и выводит их на Memo2, вот...

Перевод кода с Delphi на С++ - C++ Builder
Доброго времени суток:) У меня возникла проблема с редиректом в synapse(про indy не говорите,я знаю,что там есть HandleRedirects) Вот...

Перевод кода с C# на C++ Builder - C++ Builder
Здравствуйте уважаемые пользователи форума. Я долгое время пытаюсь найти подобный код для C++ bilder кто знает как составить такой же код...

Перевод кода Matlab в Си - C++ Builder
Есть ПРАВИЛЬНЫЙ алгоритм в MATLABe: function PSHz = PSHzformule(Fn, Fv, P_1, a) % ВЫЧИСЛЕНИЕ ИНТЕГРАЛЬНОГО УРОВНЯ ДАВЛЕНИЯ, Па ...

13
Avazart
Эксперт С++
7586 / 5571 / 330
Регистрация: 10.12.2010
Сообщений: 24,999
Записей в блоге: 17
01.11.2012, 21:23 #2
А зачем преводить используйте код совместно с С++ ?
0
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
01.11.2012, 21:32  [ТС] #3
Цитата Сообщение от Avazart Посмотреть сообщение
А зачем преводить используйте код совместно с С++ ?
Вы о чем??? Объясните.
0
Avazart
Эксперт С++
7586 / 5571 / 330
Регистрация: 10.12.2010
Сообщений: 24,999
Записей в блоге: 17
01.11.2012, 21:45 #4
Ну создать проект на С++ а к нему прикрепить pas-Модуль и там поместить код на паскале.
Из cpp можно будет вызывать ф-ции паскаля
0
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
01.11.2012, 21:54  [ТС] #5
Цитата Сообщение от Avazart Посмотреть сообщение
Из cpp можно будет вызывать ф-ции паскаля
Да!?!? Не знал((( А можно поподробней как это сделать? Как подключать??? Как вызывать???
0
Avazart
Эксперт С++
7586 / 5571 / 330
Регистрация: 10.12.2010
Сообщений: 24,999
Записей в блоге: 17
01.11.2012, 22:00 #6
Ну это возможно в новых Builder-aх
0
Миниатюры
Перевод кода с Pascal на C++   Перевод кода с Pascal на C++  
Avazart
Эксперт С++
7586 / 5571 / 330
Регистрация: 10.12.2010
Сообщений: 24,999
Записей в блоге: 17
01.11.2012, 22:11 #7
А можно поподробней как это сделать? Как подключать??? Как вызывать???
Как обычно...

Добавлено через 9 минут
Тут есть пример гибридного проекта Получить URL из адресной строки браузера
1
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
02.11.2012, 10:52  [ТС] #8
Забраковали прикрепления pas-модуля.... нужно код переводить
0
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
04.11.2012, 03:24 #9
Цитата Сообщение от n3250sasha Посмотреть сообщение
p := p^.link;
Это как? link у вас тип данных, как я понимаю
0
Avazart
Эксперт С++
7586 / 5571 / 330
Регистрация: 10.12.2010
Сообщений: 24,999
Записей в блоге: 17
04.11.2012, 04:34 #10
Delphi
1
p := p^.link;
Разыменования указателя и обращение к полю класса, наверное
0
n3250sasha
9 / 9 / 1
Регистрация: 30.10.2011
Сообщений: 80
04.11.2012, 15:09  [ТС] #11
Вот нашел в интернете перевод но он не совсем рабочий
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
typedef
struct node {
  int key;
  string st;                              // В структуре вообще запутался :(
  node *link;
  node *next;
}link;
link mas[9];
int h(int key) {
  return key % 10;
}
link search(int key1, string st1)
{
  int i;
  link q,p,s;
  i = h(key1);
  q = NULL;       // ругается на эту строку
  p = mas[i];
  while (p != NULL) {  // тоже ругается
    if (*p->key = key1) {
      search = p;
      exit();
    }
    q = p;
    p = *p->link;
   }
   malloc(s);
   *s->key = key;
   *s->st = st1;
   *s->next = NULL;
   if (q == NULL) {
     mas[i] = s;
   } else {
     *q->next = s;
   }
   search = s;
}
0
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
04.11.2012, 15:17 #12
Avazart, в том-то и дело, что обращение идёт к полю, но в качестве поля выступает(если говорить в терминах C++ ) typedef.
0
Avazart
Эксперт С++
7586 / 5571 / 330
Регистрация: 10.12.2010
Сообщений: 24,999
Записей в блоге: 17
04.11.2012, 15:45 #13
C++
1
2
3
4
5
6
  int i;
  link* q,p,s; // "*" указатель
  i = h(key1);
  q = NULL;       // ругается на эту строку
  p = mas[i];
  while (p != NULL) {  // тоже ругается
0
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
04.11.2012, 15:53 #14
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
#include <string>
#include <cstddef>
 
struct node;
typedef struct node* node_ptr_t;
 
struct node {
    
    int key;
    std::string st;
    node_ptr_t next;
};
 
node_ptr_t mas[10];
 
int h(int key) {
 
    return key % 10;
}
 
node_ptr_t search(int key1, const std::string& st1) {
 
    int i = h(key1);
    node_ptr_t q = NULL;
    node_ptr_t p = mas[i];
    
    while(p != NULL) {
    
        if(p->key == key1)        
            return p;
        
        q = p;
        p = p->next;
    }
    
    // Если ключ не найден, вставляем новую запись    
    node_ptr_t s = new node;
    
    s->key = key1;
    s->st = st1;
    s->next = NULL;
    
    if(q == NULL)    
        mas[i] = s;    
    else 
        q->next = s;
    
    return s;
}
0
04.11.2012, 15:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2012, 15:53
Привет! Вот еще темы с ответами:

Перевод кода из Delphi в C++ - C++ Builder
Ребята надо перевести код из Delphi в С++.procedure TF2_DAL.RaschetClick(Sender: TObject); var mas: array of Integer; i: integer; ...

Перевод кода из Delphi в C++ - C++ Builder
unit pr1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, RXClock,...

Перевод кода в с++ builder - C++ Builder
нужна помощь в переводе кода под билдер /* mla1d.f -- translated by f2c (version 20000817). You must link the resulting object...

Перевод кода из Delphi на C++ - C++ Builder
Доброго вечера. Пожалуйста, помогите портировать код с Delphi на C++. Его не очень много, но есть некоторые компоненты, которых не могу...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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