Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Перевод кода с Pascal на C++
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
n3250sasha n3250sasha вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.11.2012
Exclamation Перевод кода с Pascal на C++ - 04.11.2012, 01:23

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

Pascal Код:
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;
Ответить с цитированием
  (#2 (permalink)) Старый
n3250sasha n3250sasha вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.11.2012
По умолчанию 04.11.2012, 15:10

Вот нашел перевод но он не совсем рабочий
cpp Код:
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;
}
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод программного кода с Pascle на Basic Csenia Вопросы начинающих программистов 3 24.11.2010 01:22
Перевод из Pascal в С++ Garg С/С++ 1 05.05.2010 11:55
Перевод написанной программы в Pascal на C++ sky999 Вопросы начинающих программистов 2 20.07.2009 12:02
Перевод программы с Pascal в C++ roobpass Вопросы начинающих программистов 1 24.04.2009 20:06
Pascal Перевод в Польскую запись Аллочка Pascal 3 29.12.2008 13:18
Перевод бинарного кода в десятичный формат horadmon Assembler 1 14.05.2008 18:09
Перевод кода с С# в С++ или Delphi Зирк Вопросы начинающих программистов 3 29.03.2007 23:51
Перевод программы с Pascal на С++ matic Вопросы начинающих программистов 6 21.03.2007 13:46
Перевод программного кода из Pascal в Delphi azard Delphi 0 26.11.2005 17:34
Перевод Кода для Builder bakurchik C++ Builder 5 30.12.2004 14:15
Перевод программного кода Delphi в код Builder EUGIX C++ Builder 5 13.07.2004 19:32
Перевод программного кода в VB Anonymous Delphi 0 16.07.2003 22:28



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов