Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Перевод С++ в Pascal (http://forum.oszone.net/showthread.php?t=232460)

CJ F.A.N. 09-04-2012 23:15 1896671

Перевод С++ в Pascal
 
Всем привет! В С++ не силен, можете помочь? Перевести код

Код:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <string.h>

#define HUGE 10000

char st[200];
int dyn[200][200];

int min(int a, int b) {
  return a > b ? b : a;
}

bool check(char c1, char c2) {
  if (c1 == '{' && c2 == '}') return true;
  if (c1 == '[' && c2 == ']') return true;
  if (c1 == '(' && c2 == ')') return true;
  return false;
}

int calc(int x, int y) {
  if (dyn[x][y] != HUGE) return dyn[x][y];
  if (x > y) return 0;
  dyn[x][y] = min(calc(x+1,y), calc(x,y-1)) + 1;
  int i;
  for (i = x; i < y; i++) {
    dyn[x][y] = min(dyn[x][y],calc(x,i)+calc(i+1,y));
  }
  if (check(st[x],st[y])) {
    dyn[x][y] = min(dyn[x][y],calc(x+1,y-1));
  }
  return dyn[x][y];
}

int main() {
  freopen("e.in","r",stdin);
  freopen("e.out","w",stdout);
  scanf("%s",&st);
  int len = strlen(st);
  int i,j;
  for (i = 0; i < len; i++) {
    for (j = 0; j < len; j++) {
      dyn[i][j] = HUGE;
    }
  }
  printf("%d\n",calc(0,len-1));
  return 0;
}

в паскаль.
Заранее спасибо!

ferget 10-04-2012 02:03 1896778

под какой компилятор надо перевести?

CJ F.A.N. 12-04-2012 05:53 1898027

ferget, на turbo pascal


Время: 16:41.

Время: 16:41.
© OSzone.net 2001-