// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
function IsGood(Self:integer):boolean; extensionmethod; begin (var max,var min,var n):=(0,9,abs(Self)); while n>0 do begin var d:=n mod 10; if d>max then max:=d; if d<min then min:=d; n:=n div 10 end; Result:=max-min<5 end;
function P(name:string):double; begin Result:=ReadElements&<integer>(name).Where(n->n.IsGood).Average end;
begin Writeln('Среднее арифметическое равно ',P(ReadlnString('Имя файла:'))) end.
Пример Имя файла: integers.pas Среднее арифметическое равно 1.78571428571429
// Паскаль // Программа поддерживает латиницу, кириллицу и дефисы
const // Первая буквы, англ. "a" - 65, но может быть дефис #45 first_letter = #45; // Последняя буквы, рус. "я" last_letter = #1103;
var x: string; i: integer; c: char; // Сколько раз встречает буква в слове count: array[first_letter..last_letter] of integer; begin readln(x); // Обнуляем массив for c := first_letter to last_letter do count[c] := 0; // Подсчитываем буквы в слове for i := 1 to length(x) do inc(count[x[i]]); // Выводим слово без букв, встречающихся 3 раза for i := 1 to length(x) do if count[x[i]] <> 3 then write(x[i]) end.
// Внимание! Если программа не работает, обновите версию!
function IsGood(Self:integer):boolean; extensionmethod;
begin
(var max,var min,var n):=(0,9,abs(Self));
while n>0 do begin
var d:=n mod 10;
if d>max then max:=d;
if d<min then min:=d;
n:=n div 10
end;
Result:=max-min<5
end;
function P(name:string):double;
begin
Result:=ReadElements&<integer>(name).Where(n->n.IsGood).Average
end;
begin
Writeln('Среднее арифметическое равно ',P(ReadlnString('Имя файла:')))
end.
Пример
Имя файла: integers.pas
Среднее арифметическое равно 1.78571428571429
// Программа поддерживает латиницу, кириллицу и дефисы
const
// Первая буквы, англ. "a" - 65, но может быть дефис #45
first_letter = #45;
// Последняя буквы, рус. "я"
last_letter = #1103;
var
x: string;
i: integer;
c: char;
// Сколько раз встречает буква в слове
count: array[first_letter..last_letter] of integer;
begin
readln(x);
// Обнуляем массив
for c := first_letter to last_letter do
count[c] := 0;
// Подсчитываем буквы в слове
for i := 1 to length(x) do
inc(count[x[i]]);
// Выводим слово без букв, встречающихся 3 раза
for i := 1 to length(x) do
if count[x[i]] <> 3 then
write(x[i])
end.