// 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 ***
1) Задан массив из N чисел. Найти среднее арифметическое. var a: array[1..99999] of integer; i,n,summa: integer; srednee: real; begin writeln('Введите размерность массива'); readln(n); for i:=1 to n do Begin Writeln('Введите ',i,' элемент массива: '); readln(a[i]); summa+=a[i]; end; srednee:=summa/n; Writeln('Среднее арифметическое: ',srednee); end.
2) Найти номер наибольшего элемента массива размером МхN. var a: array[1..99999, 1..9999] of integer; m,n,i,i2,max,n1,n2: integer; begin writeln('Введите длину массива M: '); readln(m); writeln('Введите ширину массива N: '); readln(n); for i:=1 to m do Begin for i2:=1 to n do Begin Writeln('Введите элемент массива: '); readln(a[i,i2]); If a[i,i2]>max then Begin max:=a[i,i2]; n1:=m; n2:=n; end; end; end; Writeln('Номер максимального элемента массива: ', n1, ' столбец ',n2, ' строка'); 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
var a: array[1..99999] of integer;
i,n,summa: integer;
srednee: real;
begin
writeln('Введите размерность массива'); readln(n);
for i:=1 to n do
Begin
Writeln('Введите ',i,' элемент массива: '); readln(a[i]);
summa+=a[i];
end;
srednee:=summa/n;
Writeln('Среднее арифметическое: ',srednee);
end.
2) Найти номер наибольшего элемента массива размером МхN.
var a: array[1..99999, 1..9999] of integer;
m,n,i,i2,max,n1,n2: integer;
begin
writeln('Введите длину массива M: '); readln(m);
writeln('Введите ширину массива N: '); readln(n);
for i:=1 to m do
Begin
for i2:=1 to n do
Begin
Writeln('Введите элемент массива: '); readln(a[i,i2]);
If a[i,i2]>max then
Begin
max:=a[i,i2];
n1:=m;
n2:=n;
end;
end;
end;
Writeln('Номер максимального элемента массива: ', n1, ' столбец ',n2, ' строка');
end.