,   CyberForum.ru

Delphi ++ - C++

C++ http://www.cyberforum.ru/cpp-beginners/thread217202.html
) , , , 2 (a ,b.. - 3 . !! #ifndef rectangle__h #define rectangle__h #include <math.h> class rectangle
C++ n- . ! : , n- . . http://www.cyberforum.ru/cpp-beginners/thread217174.html
C++ , , .
. , , . . 1 .
C++ :
, , . #include <iostream.h> const int n=3,m=3; void InArray ( float a); void Change ( float a); void PrintArray ( float a); void main() { float a;
C++ . http://www.cyberforum.ru/cpp-beginners/thread217152.html
. , . : . - , . 43 , ...
C++ ! : bool checkTemplate(char field, int x, int y, int dir, char* lTem, char* rTem, char fig) { if (x<0 || x>9 || y<0 || y>9 || field!='.') { return false; } int tLen=0; char sFig=fig; bool isMatch=true;

extazzy
1 / 1 / 0
: 02.12.2009
: 19
21.12.2010, 23:44     Delphi ++
Delphi. C++. .
:

Delphi
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
{$o-,q+,r+}
{$apptype console}
 
uses math;
 
const
    maxplen = 400;
 
type
    transfunc = array[0..maxplen, 1..255] of integer;
 
var
    i: integer;
    p, t: string;
    hasch: array[1..255] of boolean;
    f: transfunc;
 
{ Ïîñòðîå*èå *âòîì*ò* ïî îáð*çöó }
procedure computefunc(const p: string; var f: transfunc);
var
    i, j, k, m, t1, t2: integer;
begin
    m := length(p);
    for i := 0 to m do begin
        for j := 1 to 255 do if hasch[j] then begin
            k := min(m + 1, i + 2);
            while k > 0 do begin
                dec(k);
                if (k > 0) and (ord(p[k]) = j) then begin
                    t1 := k - 1; t2 := i;
                    while (t1 > 0) and (p[t1] = p[t2]) do begin
                        dec(t1); dec(t2);
                    end;
                    if t1 = 0 then break;
                end;
            end;
            f[i, j] := k;
        end;
    end;
end;
 
{ Ïîèñê ïîäñòðîêè }
procedure match(const t: string; var f: transfunc; const m: integer);
var
    n, q, i: integer;
begin
    writeln('Îñóùåñòâèì ïðîõîä ïî òåêñòó. Â **÷*ëå *âòîì*ò **õîäèòñÿ â ñîñòîÿ*èè q = 0.');
    writeln('Âçÿâ ñëåäóþùèé ñèìâîë ''a'' òåêñò* Ò, *âòîì*ò ïåðåõîäèò â ñîñòîÿ*èå f[q, ''a''].');
    writeln;
 
    n := length(t);
    q := 0;
    for i := 1 to n do begin
        write('T[', i, '] = ', '''', t[i], ''', f[', q, ', ''', t[i], '''] = ', f[q, ord(t[i])]);
        q := f[q, ord(t[i])];
        if q = m then begin
            write(', ìû ïîï*ëè â ñîñòîÿ*èå ', m,
                  ', ñëåäîâ*òåëü*î îáð*çåö âõîäèò â òåêñò ñ ïîçèöèè ', i - m + 1, '.');
        end;
        writeln;
    end;
end;
 
procedure fill(const n: integer; const ch: char);
var
    i: integer;
begin
    for i := 1 to n do write(ch);
end;
 
procedure printfunc(var f: transfunc; const m: integer);
var
    i, j, t, digits: integer;
begin
    writeln;
    writeln('Äëè** îáð*çö* |P| = ', m, ', ïîýòîìó êîëè÷åñòâî ñîñòîÿ*èé â *âòîì*òå - ', m + 1, ' (|P|+1).');    
    writeln('Àâòîì*ò **õîäèò âõîæäå*èå îáð*çö*, åñëè î* ïîï*ä*åò â äîïóñê*þùåå ñîñòîÿ*èå ', m, '.');
    writeln('Ïîñòðîèì ôó*êöèþ ïåðåõîäîâ f. Äëÿ ê*æäîãî ïðåôèêñ* P[0..m], ãäå m = 0..', m, ',');
    writeln('ïåðåáåðåì âñå ñèìâîëû ''a'', âñòðå÷*þùèåñÿ â îáð*çöå, è **éäåì ì*êñèì*ëü*ûé');
    writeln('ñóôôèêñ ñòðîêè P[0..m]a, êîòîðûé ÿâëÿåòñÿ ïðåôèêñîì P. Äëè*ó **éäå**îãî ïðåôèêñ*');
    writeln('ñîõð**èì â ÿ÷åéêå f[m, ''a''] ôó*êöèè ïåðåõîäîâ.');
    writeln;
    writeln('Ïîëó÷å***ÿ â ðåçóëüò*òå ôó*êöèÿ ïåðåõîäîâ èìååò âèä:');
    writeln;
    t := m; digits := 0;
    while t > 0 do begin
        inc(digits); t := t div 10;
    end;
 
    write('  ');
    for i := 0 to m do begin
        write('| ');        
        write(i:digits);
    end;
    writeln;
 
    for i := 1 to 255 do if hasch[i] then begin        
        write('--');
        for j := 0 to m do begin
            write('+');
            fill(digits + 1, '-');
        end;
        writeln;
        write(' ', chr(i));
        for j := 0 to m do begin
            write('| ');
            write(f[j, i]:digits);
        end;
        writeln;
    end;
    writeln;
end;
 
begin
    reset(input, 'input.txt');
    rewrite(output, 'output.txt');
 
    readln(t); readln(p);
    writeln('Èùåì îáð*çåö "', p, '" (P) â òåêñòå "', t, '" (T).');
    for i := 1 to length(p) do hasch[ord(p[i])] := true;
 
    computefunc(p, f);
    printfunc(f, length(p));
    match(t, f, length(p));    
end.
.
 
: 12:58. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru