Задача: Прямоугольный садовый участок шириной N и длиной M метров разбит на квадраты со стороной 1 метр. На этом участке вскопаны грядки. Грядкой называется совокупность квадратов, удовлетворяющая таким условиям: • из любого квадрата этой грядки можно попасть в любой другой квадрат этой же грядки, последовательно переходя по грядке из квадрата в квадрат через их общую сторону; • никакие две грядки не пересекаются и не касаются друг друга ни по вертикальной, ни по горизонтальной сторонам квадратов (касание грядок углами квадратов допускается). Подсчитайте количество грядок на садовом участке. Ограничения: 1 <= N, M <= 200, время 1 с. Ввод из файла beds.in. В первой строке находятся числа N и M через пробел, далее идут N строк по M символов. Символ # обозначает территорию грядки, точка соответствует незанятой территории. Других символов в исходном файле нет. Вывод в файл beds.out. Вывести одно число - количество грядок на садовом участке. Примеры Ввод 1 5 10 ##......#. .#..#...#. .###....#. ..##....#. ........#. Вывод 1 3 Код проги на Pascal: Code: { Written by Fyodor Menshikov 26.01.2004 14:46-14:55 } {$R+,Q+} var c:array[0..201,0..201]of char; type arr=array[1..40000]of byte; var first,last:word; ii,jj:^arr; procedure put(i,j:integer); begin if c[i,j]='#' then begin inc(last); ii^[last]:=i; jj^[last]:=j; c[i,j]:='.'; end; end; procedure get(var i,j:integer); begin i:=ii^[first]; j:=jj^[first]; inc(first); end; procedure paint(i,j:integer); begin first:=1; last:=0; put(i,j); while first<=last do begin get(i,j); put(i+1,j); put(i-1,j); put(i,j+1); put(i,j-1); end; end; var n,m,i,j,count:integer; begin new(ii); new(jj); assign(input,'beds.in'); reset(input); assign(output,'beds.out'); rewrite(output); readln(n,m); for i:=0 to n+1 do for j:=0 to m+1 do c[i,j]:='.'; for i:=1 to n do begin for j:=1 to m do read(c[i,j]); readln; end; count:=0; for i:=1 to n do for j:=1 to m do if c[i,j]='#' then begin paint(i,j); inc(count); end; writeln(count); end. Если можно, то опишите что делает прога, а то я pascal не знаю, а если пойму что там делать, то можно и блок схему нарисовать и прогу перевести. Ну а если не в лом, то от непосредственной помощи с переводом не откажусь .
К стати, я ещё где-то слышал про прогу P2C, якобы она переводит из Pascal'а в C++. Может кто подскажет где её версию под винду достать можно?