:D Ну го Ничего если на паскале напишу ? uses crt; var a:array[1..50] of integer ;i,j,n,x,t,k:integer;b:string; begin read(n); for i:= 1 to n do begin a[i]:=random(15); write(a[i],' '); end; writeln; for i:= 1 to n-1 do for j:= i+1 to n do if a[i]> a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end; for i:= 1 to n do write(a[i],' '); writeln; read(x); for i:= 1 to n do if a[i] = x then k:=k+1; str(k,b); n:=length(b); if k in [11..19] then write (k,' раз') else if k = 0 then write('число ',x,' не встречается ')else case b[n] of '0','1','5','6','7','8','9': write (k,' раз'); '3','4','2': write (k,' раза') ; end; end.
Const n=20; var a:array[1..n] of integer; i,j,t,i1,i2,x:integer; begin Randomize; Writeln('Исходный массив:'); for i:=1 to n do begin a[i]:=Random(15); Write(a[i],' ') end; Writeln; for i:=1 to n-1 do for j:=1 to n-i do if a[j]>a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; Writeln('Отсортированный массив:'); for i:=1 to n do Write(a[i],' '); Writeln; write('x = '); readln(x); i1:=1; i2:=n; repeat i:=(i1+i2) div 2; if a[i]<x then i1:=(i1+i2) div 2+1; if a[i]>x then i2:=(i1+i2) div 2-1; until (a[i]=x)or(i1>i2); if a[i]=x then begin while (i>0)and(a[i]=x) do i:=i-1; i:=i+1; j:=i; while (i<=n)and(a[i]=x) do i:=i+1; writeln('Число ',x,' встречается ',i-j,' раз(а)'); end else writeln('Число ',x,' не встречается'); writeln; end.
Ну го Ничего если на паскале напишу ?
uses crt;
var a:array[1..50] of integer ;i,j,n,x,t,k:integer;b:string;
begin
read(n);
for i:= 1 to n do
begin
a[i]:=random(15);
write(a[i],' ');
end;
writeln;
for i:= 1 to n-1 do
for j:= i+1 to n do
if a[i]> a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;
for i:= 1 to n do
write(a[i],' ');
writeln;
read(x);
for i:= 1 to n do
if a[i] = x then k:=k+1;
str(k,b);
n:=length(b);
if k in [11..19] then write (k,' раз') else
if k = 0 then write('число ',x,' не встречается ')else
case b[n] of
'0','1','5','6','7','8','9': write (k,' раз');
'3','4','2': write (k,' раза') ;
end;
end.
var a:array[1..n] of integer;
i,j,t,i1,i2,x:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(15);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n-1 do
for j:=1 to n-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
write('x = '); readln(x);
i1:=1; i2:=n;
repeat
i:=(i1+i2) div 2;
if a[i]<x then i1:=(i1+i2) div 2+1;
if a[i]>x then i2:=(i1+i2) div 2-1;
until (a[i]=x)or(i1>i2);
if a[i]=x then
begin
while (i>0)and(a[i]=x) do i:=i-1;
i:=i+1; j:=i;
while (i<=n)and(a[i]=x) do i:=i+1;
writeln('Число ',x,' встречается ',i-j,' раз(а)');
end
else writeln('Число ',x,' не встречается');
writeln;
end.
Пример:
Исходный массив:
4 13 5 3 14 12 12 8 9 6 3 2 4 4 14 1 12 2 5 9
Отсортированный массив:
1 2 2 3 3 4 4 4 5 5 6 8 9 9 12 12 12 13 14 14
x = 5
Число 5 встречается 2 раз(а)