Const n=10; var a:array[1..n] of integer; i,k:integer; begin writeln('Исходный массив:'); a[1]:=random(10); write(a[1],' '); for i:=2 to n do begin a[i]:=a[i-1]+random(10); write(a[i],' '); end; writeln; k:=1; for i:=2 to n do if a[i-1]<>a[i] then k:=k+1; writeln('k = ',k); end.
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016) begin var n:=ReadInteger('Размер массива: '); var a:=ArrRandom(n).Sorted.Println; println('Уникальных:',a.Distinct.count); end.
var a:array[1..n] of integer;
i,k:integer;
begin
writeln('Исходный массив:');
a[1]:=random(10);
write(a[1],' ');
for i:=2 to n do
begin
a[i]:=a[i-1]+random(10);
write(a[i],' ');
end;
writeln;
k:=1;
for i:=2 to n do if a[i-1]<>a[i] then k:=k+1;
writeln('k = ',k);
end.
Пример:
Исходный массив:
9 18 19 19 28 32 38 41 41 47
k = 8
begin
var n:=ReadInteger('Размер массива: ');
var a:=ArrRandom(n).Sorted.Println;
println('Уникальных:',a.Distinct.count);
end.
Тестовое решение:
Размер массива: 20
1 8 23 25 25 44 51 54 63 64 65 69 70 73 77 77 81 84 91 96
Уникальных: 18