-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVERTIMAS.PAS
95 lines (86 loc) · 2.08 KB
/
VERTIMAS.PAS
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
program vertimas;
const
skaic : array [1 .. 19] of string =
('vienas', 'du', 'trys', 'keturi', 'penki', 'sesi', 'septyni', 'astuoni',
'devyni', 'desimt', 'vienuolika', 'dvylika', 'trylika', 'keturiolika',
'penkiolika', 'sesiolika', 'septyniolika', 'astuoniolika', 'devyniolika');
des : array [2 .. 9] of string =
('dvidesimt', 'trisdesimt', 'keturiasdesimt', 'penkiasdesimt',
'sesiasdesimt', 'setyniasdesimt', 'astuoniasdesimt', 'devyniasdesimt');
tukst : array [1 .. 3] of string =
('tukstantis', 'tukstanciai', 'tukstanciu');
simt : array [1 .. 2] of string =
('simtas', 'simtai');
var
zodis, eil : string;
ck, pg, poz : integer;
jau, t : boolean;
begin
eil := 'vienas';
{ assign (f, 'vert.dat');
reset (f);
readln (f, eil);
close (f);
}
pg := 0;
eil := 'keturi simtai vienuolika tukstanciu devyni simtai devyniasdesimt devyni';
t := false;
while length (eil) > 0 do
begin
poz := pos (' ', eil);
if poz <> 0 then
begin
zodis := copy (eil, 1, poz - 1);
delete (eil, 1, poz);
end
else
begin
zodis := eil;
eil := '';
end;
jau := false;
for ck := 1 to 19 do
if zodis = skaic [ck] then
begin
pg := pg + ck;
jau := true;
break;
end;
if not jau then
for ck := 2 to 9 do
if zodis = des [ck] then
begin
pg := pg + ck * 10;
jau := true;
break;
end;
if not jau then
for ck := 1 to 2 do
if zodis = simt [ck] then
begin
if ck = 1 then pg := 100
else pg := pg * 100;
jau := true;
break;
end;
if not jau then
for ck := 1 to 3 do
if zodis = tukst [ck] then
begin
if pg = 0 then pg := 1;
Write (pg);
pg := 0;
t := true;
jau := true;
break;
end
end;
if t then
begin
if pg div 100 < 1 then write (0);
if pg div 10 < 1 then write (0);
if pg < 1 then writeln (0)
else writeln (pg)
end
else writeln (pg)
end.