Diákolimpia programozási feladatokat a döntés

A bemeneti fájl:
Az első sorban - ábécé kimondja: tíz betűből, rendezett emelkedő sorszámok hézagmentesen.
A második sor - száma számok (N <= 255)
A következő N sorban -, hogy a kezdeti szám (soronként egy, minden egyes nem több, mint 255 számjegy).
A formátum a kimeneti fájl:
kulcsszó

A nyelv a határozat Pascal:
PROGRAM VISA;
var n, A, D, I, összeg, R: longint;
k. Array [0..11] az longint;
c: array [1..255] a longint;
kod: array [1..255] a longint;
alf: string;
f, f1: szöveg;
kezdődik
hozzárendelni (F, 'visa.dat');
reset (f);
olvasni (f, ALF);
readln (f, n);
i: = 1-től n do readln (F, K [i]);
i: = 1;
d: = 1;
i: = 1-től n-do kezdeni
ismétlés
összege: = 0;
míg a K [i] div 10 <> 0 nem kezdődik
ha d> 1, akkor
k [i]: = k [i] div 10;
d: = d + 1;
c [i]: = k [i] mod 10;
összege: = összege + c [i];
végén;
k [i]: = összege;
d: = 1;
amíg összege <9;
kod [i]: = összege;
végén;
Az I: = 1-től n-DO KOD [I]: = KOD [I] +1;
ASSIGN (f1, 'visa.sol');
átírni (f1);
i: = 1-től n do write (F1, ALF [kod [i]]);
bezár (f);
bezár (f1);
végén.

A második lehetőség
programot VIZA;
1 címke;
var w, x, R: string; i, j, s, s1, n, tőkehal, száma: integer; F, F1: szöveg; alf: array [0..9] string [10];
kezdődik
hozzárendelni (F, 'VIZA.dat');
átírni (f);
bezár (f);
rendelni (f1, 'VIZA.rez');
átírni (f1);
bezár (f1);
write ( 'vvedite kol-vo chifr');
readln (count);
alf [0]: = 'A';
alf [1]: = 'G';
alf [2]: = 'E';
alf [3]: = 'I';
alf [4]: ​​= 'K';
alf [5]: = 'L';
alf [6]: = 'M';
alf [7]: = 'O';
alf [8]: = 'P';
alf [9]: = 'T';
i: = 0-tól 9 do kezdeni
hozzárendelni (F, 'VIZA.DAT'); append (f);
levelet (F, ALF [i]);
bezár (f);
végén;
i: = 1 számolni nem kezdődik
write ( 'vvedite chislo');
readln (x);
1: S: = 0;
a J: = 1 hossza (x) do
kezdődik
r: = x [j];
Val (R, n, COD);
s: = s + n;
levelet ( 's =', s);
végén;
ha s> 9 ezután kezdődik str (s, x); 1 Goto end;
levelet ( '', Alf [s]);
rendelni (f1, 'VIZA.rez');
append (f1);
writeln (f1, ALF [s]);
bezár (f1)
végén;
végén.

Kapcsolódó cikkek