Предмет: Информатика,
автор: minius1024
Дан массив х: array[1..n] of integer, причем x[1]<=x[2]<=...<=x[n]. Найти количество различных чисел среди элементов массива.
Ответы
Автор ответа:
2
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.
Пример:
Исходный массив:
9 18 19 19 28 32 38 41 41 47
k = 8
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
Автор ответа:
1
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
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
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
Похожие вопросы
Предмет: Физика,
автор: kamatter
Предмет: Математика,
автор: amina2347
Предмет: Алгебра,
автор: 12345720256
Предмет: Геометрия,
автор: mikhail49
Предмет: Математика,
автор: Аноним