// PascalABC.NET 3.2, сборка 1488 от 21.06.2017 // Внимание! Если программа не работает, обновите версию!
function LexRepeat(Self:string):(string,integer); extensionmethod; begin Writeln(Self); var aw:=Self.MatchValues('\b\w+\b').ToArray; if aw.Count>1 then Result:=(aw[0],aw[1:].Where(w->LowerCase(w)=LowerCase(aw[0])).Count) else Result:=(aw[0],0) end;
begin ReadLines('Pushkin2.txt').Select(s->s.LexRepeat) .Where(x->x[1]>0).Foreach(x->Writeln('*** ',x[0],' - ',x[1]+1,' ***')) end.
Пример работы программы
Александр Пушкин К*** Я помню чудное мгновенье: Передо мной явилась ты, Как мимолетное виденье, Как гений чистой красоты. В томленьях грусти безнадежной, В тревогах шумной суеты, Звучал мне долго голос нежный И снились милые черты. Шли годы. Бурь порыв мятежный Рассеял прежние мечты, И я забыл твой голос нежный, Твои небесные черты. В глуши, во мраке заточенья Тянулись тихо дни мои Без божества, без вдохновенья, *** Без - 2 *** Без слез, без жизни, без любви. *** Без - 3 *** Душе настало пробужденье: И вот опять явилась ты, Как мимолетное виденье, Как гений чистой красоты. И сердце бьется в упоенье, И для него воскресли вновь И божество, и вдохновенье, *** И - 2 *** И жизнь, и слезы, и любовь. *** И - 3 ***
Var a:array[1..100] of integer; n,i,k,c:integer; begin Randomize; write('n = '); readln(n); Writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=random(100); write(a[i]:6); end; writeln; for k := 1 to n-1 do for i := n-1 downto k do if a[i] > a[i+1] then begin c:=a[i]; a[i]:=a[i+1]; a[i+1]:=c end; Writeln('Отсортированный массив:'); for i:=1 to n do write(a[i]:6); writeln; end.
// Внимание! Если программа не работает, обновите версию!
function LexRepeat(Self:string):(string,integer); extensionmethod;
begin
Writeln(Self);
var aw:=Self.MatchValues('\b\w+\b').ToArray;
if aw.Count>1 then
Result:=(aw[0],aw[1:].Where(w->LowerCase(w)=LowerCase(aw[0])).Count)
else Result:=(aw[0],0)
end;
begin
ReadLines('Pushkin2.txt').Select(s->s.LexRepeat)
.Where(x->x[1]>0).Foreach(x->Writeln('*** ',x[0],' - ',x[1]+1,' ***'))
end.
Пример работы программы
Александр Пушкин
К***
Я помню чудное мгновенье:
Передо мной явилась ты,
Как мимолетное виденье,
Как гений чистой красоты.
В томленьях грусти безнадежной,
В тревогах шумной суеты,
Звучал мне долго голос нежный
И снились милые черты.
Шли годы. Бурь порыв мятежный
Рассеял прежние мечты,
И я забыл твой голос нежный,
Твои небесные черты.
В глуши, во мраке заточенья
Тянулись тихо дни мои
Без божества, без вдохновенья,
*** Без - 2 ***
Без слез, без жизни, без любви.
*** Без - 3 ***
Душе настало пробужденье:
И вот опять явилась ты,
Как мимолетное виденье,
Как гений чистой красоты.
И сердце бьется в упоенье,
И для него воскресли вновь
И божество, и вдохновенье,
*** И - 2 ***
И жизнь, и слезы, и любовь.
*** И - 3 ***
Во вложении - исходный файл Puskin2.txt
n,i,k,c:integer;
begin
Randomize;
write('n = '); readln(n);
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=random(100);
write(a[i]:6);
end;
writeln;
for k := 1 to n-1 do
for i := n-1 downto k do
if a[i] > a[i+1] then
begin
c:=a[i];
a[i]:=a[i+1];
a[i+1]:=c
end;
Writeln('Отсортированный массив:');
for i:=1 to n do write(a[i]:6);
writeln;
end.
Пример:
n = 15
Исходный массив:
10 0 59 85 98 71 72 55 29 50 54 27 34 56 73
Отсортированный массив:
0 10 27 29 34 50 54 55 56 59 71 72 73 85 98