update
[archive.git] / Apkawa / Study / pascal / lab1_task_15 / old / task15_1.bak
blob3565745d275f075379aa2373744979cdaa6f92ff
1 program task_15_mod_1;\r
2 { use two-dimensional array and not use procedure }\r
3 { tips for fpc - "fpc -mTP name_prog.pas" } \r
4 const\r
5     IN_FILE_PATH    = 'task_15.in';\r
6     OUT_FILE_PATH   = 'task15_1.out';\r
7     MAX_LENGTH_LINE = 24;\r
8     MAX_LINES       = 10;\r
9     START_FAMILY    = 1;\r
10     END_FAMILY      = 15;\r
11     START_PHONE     = 16;\r
12     END_PHONE       = MAX_LENGTH_LINE;\r
13 var\r
14     in_file, out_file: text;\r
15     i,j, t:integer;\r
16     in_lines: array [1..MAX_LINES,1..MAX_LENGTH_LINE] of char;\r
17     result_line: string[MAX_LENGTH_LINE];\r
18 begin\r
19     assign( in_file, IN_FILE_PATH);\r
20     reset( in_file);\r
21     assign( out_file, OUT_FILE_PATH);\r
22     rewrite( out_file);\r
24     for i:=1 to MAX_LINES do\r
25         begin\r
26             {START read from in_file and write in out_file}\r
27             for j:=1 to MAX_LENGTH_LINE do\r
28                 begin\r
29                 read( in_file, in_lines[i,j]);\r
30                 write( out_file, in_lines[i,j]);\r
31                 end;\r
32             readln( in_file);\r
33             writeln( out_file);\r
34             {END}\r
35             \r
36             {START FIND TASK}\r
37             if i > 1 then\r
38                 begin\r
39                 if in_lines[i,START_FAMILY] <=  result_line[START_FAMILY]  then\r
40                     begin\r
41                     for t:=START_PHONE to END_PHONE do\r
42                         begin\r
43                         if in_lines[i,t] <> result_line[t] then\r
44                             begin\r
45                             if in_lines[i,t] < result_line[t] then\r
46                                 begin\r
47                                 result_line := in_lines[i];\r
48                                 end;\r
49                             break;\r
50                             end;\r
51                         end;\r
52                     end;\r
53                 end\r
54             else\r
55                 result_line := in_lines[i];\r
56             {END FIND TASK}\r
57         end;\r
58     close(in_file);\r
59     writeln(out_file);\r
60     writeln(out_file,'Result');\r
61     writeln(out_file,result_line);\r
62     close( out_file);\r
63 end.\r