Program PRACT_IND_2; Uses CRT; Const MAX = 30; TXT_IN = 'input.txt'; TXT_OUT = 'out.txt'; LOW_CHAR_MAP: String = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; HI_CHAR_MAP: String = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'; Var a: array [1..MAX] of string; size : byte; temp : string; i, j : byte; inFile, outFile: text; Begin Assign(inFile,TXT_IN); Assign(outFile,TXT_OUT); Reset(inFile); ReWrite(outFile); While Not (EoF(inFile)) do Begin Inc(Size); Readln(inFile, a[Size]); If (Pos(a[Size][1],LOW_CHAR_MAP) > 0) then a[Size][1] := HI_CHAR_MAP[Pos(a[Size][1],LOW_CHAR_MAP)]; For i := 2 to Length(a[Size]) do Begin If (a[Size][i+1] = '.') then If (Pos(a[Size][i],LOW_CHAR_MAP) > 0) then a[Size][i] := HI_CHAR_MAP[Pos(a[Size][i],LOW_CHAR_MAP)]; End; End; For i := 1 to Size - 1 do Begin For j:= i + 1 to Size do Begin If (a[j] < a[i]) then Begin temp:=a[i]; a[i]:=a[j]; a[j]:=temp; End; end; end; For i := 1 to Size do Writeln(outFile,a[i]); close(inFile); close(outFile); end.
<-------->
файл input.txt
<-------->
жуков а. В. Бодрик В. А. Взина О. В. Корней е. В. Шампуров М. Ф. Азадрич А. В. Багор д. с. Глупкин А. Г. Желтяк а. в. Катаряс А. с. Аксорин Д. А. Алексеев в. В. Кутузова А. В. Кварасан а. В. Гивирлен Е. А. Густа Н. В. Гумплен Р. И. Мирон Д. А. Поприще А. ю. Савелов А. В. Захарова А. А.