Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2009, 19:34   #1
Пaвeл
Пользователь
 
Аватар для Пaвeл
 
Регистрация: 08.11.2008
Сообщений: 47
Стрелка Перевод из C в Delphi

Нашел нужную мне программу, но она на C. Я знаю только Delphi и Pascal. Помогите, пожалуйста, очень надо.

Код:
#include <iostream.h>
#include <string.h>
#include <stdlib.h>

void main()
{
  char Prufer_S[40];
  int Prufer_A[16];   
  int Prufer_B[16];   
  int Mnog[17],Mnog1[17];
  int N;                 
  int M;                 
  char A[2]; A[1]='\0';
  int i,j,k;

  //Начальная инициализация.
  for (i=0;i<16;i++)
	 Prufer_A[i] = Prufer_B[i] = Mnog[i] = Mnog1[i] = 0;
  Mnog[16] = Mnog1[16] = 0;

  cout << "Данная пpогpамма pаботает только с деpевьями\n";
  cout << "узлы котоpых содеpжат целые ключи, не большие 10.\n";
  cout << "Введите код Пpюфеpа... ";
  cin >> Prufer_S;
  N = strlen(Prufer_S)+1; M = N - 1;

  for(i=0;i<M;i++)
  {
    A[0] = Prufer_S[i];
    Prufer_A[i] = atoi (A);
  }

  for (i=0;i<N;i++) Mnog1[i] = 1;
  for (i=0;i<M;i++)
  {
    for (k=0;k<17;k++) Mnog[k] = 0;
    for (j=i;j<M;j++)  Mnog[Prufer_A[j]-1] = 1;
    for (j=0;j<N;j++)
      if (!(Mnog[j]) && Mnog1[j])
      {
       Prufer_B[i] = j+1;
       Mnog1[j] = 0;
       break; 
      }
  }
  for(i=0;i<M;i++) cout << Prufer_A[i] << " ";
  cout << endl;
  for(i=0;i<M;i++) cout << Prufer_B[i] << " ";
  cout << endl;
  cout << "Для постpоения деpева узлы в каждом столбце необходимо\n";
  cout << "    соединить дугами, напpавленными свеpху-вниз!      ";
}
Я не знаю, как должно быть, но вы делаете всё не правильно ©

Последний раз редактировалось MaTBeu; 29.04.2009 в 20:15.
Пaвeл вне форума Ответить с цитированием
Старый 30.04.2009, 22:27   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Код:
{$APPTYPE CONSOLE}

var
  Prufer_S: array [0..39] of Char;
  Prufer_A, Prufer_B: array [0..15] of Integer;
  Mnog, Mnog1: set of 0..16;
  N, M: Integer;
  A: array [0..1] of Char;
  i, j: Integer;
  e: Integer;

begin
  // Delphi: в глобальных переменных нули

  WriteLn('Данная пpогpамма pаботает только с деpевьями');
  WriteLn('узлы котоpых содеpжат целые ключи, не большие 10.');
  Write('Введите код Пpюфеpа... ');
  ReadLn(Prufer_S);
  N := Length(PChar(@Prufer_S))+1; M := N - 1;

  for i := 0 to M - 1 do
  begin
    A[0] := Prufer_S[i];
    Val(A, Prufer_A[i], e);
  end;

  for i :=0 to N - 1 do Include(Mnog1, i);
  for i :=0 to M - 1 do
  begin
    Mnog := [];
    for j := i to M - 1 do Include(Mnog, Prufer_A[j] - 1);
    for j := 0 to N - 1 do
      if not (j in Mnog) and (j in Mnog1) then
      begin
        Prufer_B[i] := j + 1;
        Exclude(Mnog1, j);
        break;
      end;
  end;
  for i := 0 to M - 1 do Write(Prufer_A[i], ' ');
  WriteLn;
  for i := 0 to M - 1 do Write(Prufer_B[i], ' ');
  WriteLn;
  WriteLn('Для постpоения деpева узлы в каждом столбце необходимо');
  WriteLn('    соединить дугами, напpавленными свеpху-вниз!      ');
end.

Последний раз редактировалось Somebody; 30.04.2009 в 22:29.
Somebody вне форума Ответить с цитированием
Старый 30.04.2009, 22:43   #3
Пaвeл
Пользователь
 
Аватар для Пaвeл
 
Регистрация: 08.11.2008
Сообщений: 47
По умолчанию

Большое спасибо!
Я не знаю, как должно быть, но вы делаете всё не правильно ©
Пaвeл вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД в Builder- перевод из Delphi kisa_misa C++ Builder 4 26.01.2009 06:04
Перевод кода с Fortran-77 на Delphi unhide Помощь студентам 3 20.05.2008 14:27
Перевод исходников из Delphi в C++ Bond Общие вопросы C/C++ 4 23.02.2008 10:31
Как сделать в Delphi перевод языков Илюха Общие вопросы Delphi 3 16.10.2007 11:44