// PascalABC.Net 3.0, сборка 1052 const Rus=['А'..'Я']; var s:string; i,k,t:integer; c,c1,tc,sc:char; f:array['А'..'а'] of byte; // 'а' - это для 'Ё' ch:array['А'..'а'] of char; begin Write('Введите строку: '); Readln(s); for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end; k:=0; for i:=1 to Length(s) do begin c:=UpCase(s[i]); if c in Rus then begin Inc(f[c]); Inc(k) end else if c='Ё' then begin Inc(f['а']); Inc(k) end; end; Writeln('Количество русских букв равно ',k); { сортировка массива со счетчиком количества букв } for c1:='А' to Pred('а') do for c:='А' to Pred('а') do if f[c]<f[Succ(c)] then begin t:=f[c]; tc:=ch[c]; sc:=Succ(c); f[c]:=f[sc]; ch[c]:=ch[sc]; f[sc]:=t; ch[sc]:=tc end; Writeln('Частота встретившихся букв'); c:='А'; while (c<='а') and (f[c]>0) do begin if ch[c]='а' then ch[c]:='Ё'; Writeln(ch[c],' - ',f[c]); Inc(c) end; end.
Тестовое решение: Введите строку: Когда я был парнишкой, носил я брюки клёш Количество русских букв равно 33 Частота встретившихся букв К - 4 И - 3 Л - 3 О - 3 А - 2 Б - 2 Н - 2 Р - 2 Ш - 2 Я - 2 Г - 1 Д - 1 Й - 1 П - 1 С - 1 Ы - 1 Ю - 1 Ё - 1
Uses Crt; Var A,B:integer; P:real; C:boolean; Begin ClrScr; Write('Введите натуральное число: ');ReadLn(B); Write('A = ');ReadLn(A); P:=1; C:=false; B:=Abs(B); While B>0 do Begin P:=P*(B mod 10); if B mod 10 = A then C:=true; B:=B div 10 End; WriteLn('P = ',P); if C then WriteLn('Не верно') else WriteLn('Верно'); ReadLn End.
uses Crt; Var A:integer; Begin ClrScr; For A:= 100 to 999 do if ((A+1) mod 2 = 0)and((A+2) mod 3 = 0)and((A+3) mod 4 = 0)and((A+4) mod 5 = 0) then Write(A,' '); ReadLn; End.
uses Crt; Var A,B,C:integer; Begin ClrScr; Write('Введите натуральное число: ');ReadLn(B); Write('A = ');ReadLn(A); C:=0; While B<>0 do Begin if B mod 10 <> A then C:=C*10+B mod 10; B:=B div 10; End; While C<>0 do Begin B:=B*10+C mod 10; C:=C div 10 End; WriteLn(B); ReadLn; End.
const
Rus=['А'..'Я'];
var
s:string;
i,k,t:integer;
c,c1,tc,sc:char;
f:array['А'..'а'] of byte; // 'а' - это для 'Ё'
ch:array['А'..'а'] of char;
begin
Write('Введите строку: '); Readln(s);
for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end;
k:=0;
for i:=1 to Length(s) do begin
c:=UpCase(s[i]);
if c in Rus then begin Inc(f[c]); Inc(k) end
else
if c='Ё' then begin Inc(f['а']); Inc(k) end;
end;
Writeln('Количество русских букв равно ',k);
{ сортировка массива со счетчиком количества букв }
for c1:='А' to Pred('а') do
for c:='А' to Pred('а') do
if f[c]<f[Succ(c)] then begin
t:=f[c]; tc:=ch[c]; sc:=Succ(c);
f[c]:=f[sc]; ch[c]:=ch[sc];
f[sc]:=t; ch[sc]:=tc
end;
Writeln('Частота встретившихся букв');
c:='А';
while (c<='а') and (f[c]>0) do begin
if ch[c]='а' then ch[c]:='Ё';
Writeln(ch[c],' - ',f[c]);
Inc(c)
end;
end.
Тестовое решение:
Введите строку: Когда я был парнишкой, носил я брюки клёш
Количество русских букв равно 33
Частота встретившихся букв
К - 4
И - 3
Л - 3
О - 3
А - 2
Б - 2
Н - 2
Р - 2
Ш - 2
Я - 2
Г - 1
Д - 1
Й - 1
П - 1
С - 1
Ы - 1
Ю - 1
Ё - 1
Var
A,B:integer;
P:real;
C:boolean;
Begin
ClrScr;
Write('Введите натуральное число: ');ReadLn(B);
Write('A = ');ReadLn(A);
P:=1;
C:=false;
B:=Abs(B);
While B>0 do
Begin
P:=P*(B mod 10);
if B mod 10 = A then C:=true;
B:=B div 10
End;
WriteLn('P = ',P);
if C then WriteLn('Не верно')
else WriteLn('Верно');
ReadLn
End.
uses Crt;
Var
A:integer;
Begin
ClrScr;
For A:= 100 to 999 do
if ((A+1) mod 2 = 0)and((A+2) mod 3 = 0)and((A+3) mod 4 = 0)and((A+4) mod 5 = 0) then Write(A,' ');
ReadLn;
End.
uses Crt;
Var
A,B,C:integer;
Begin
ClrScr;
Write('Введите натуральное число: ');ReadLn(B);
Write('A = ');ReadLn(A);
C:=0;
While B<>0 do
Begin
if B mod 10 <> A then C:=C*10+B mod 10;
B:=B div 10;
End;
While C<>0 do
Begin
B:=B*10+C mod 10;
C:=C div 10
End;
WriteLn(B);
ReadLn;
End.