Var
a: array[1..10] of integer;
m, i,s: integer;
begin
randomize;
for i := 1 to 10 do
begin
a[i] := random(+10) + 1;
if a[i] > m then m := a[i];
end;
for i := 1 to 10 do
begin
if a[i]=m then s:=s+1;
end;
writeln(s);
end.
Например, так: явно подсчитать кол-во, "загубив" повторяющиеся числа:
int count_unique(int *a, int n){
int *ind = malloc(n * sizeof(int));
int i, j, count = 0;
for (i = 0; i < n; i++)
ind[i] = 1;
for (i = 0; i < n; i++)
for (j = i + 1; j < n; j++)
if (a[i] == a[j]) ind[j] = 0;
for (i = 0; i < n; i++)
count += ind[i];
free(ind);
return count;
}
или: отсортировать массив, а дальше по нему один раз пройтись.
или: составить двусвязный список из элементов массива, а потом удалить повторяющиеся так же, как и в первом варианте.
и т.д. ...
8 Мбайт = 8 * 1024 Кбайт = 8 * 1024 * 1024 байт = 8 * 1024 * 1024 * 8 бит = 67 108 864 бит
Программа, которая вычисляет значение функции:
var x,y:real;
begin
write('x = '); readln(x);
if x<=0 then y:=x*x else y:=1/x;
writeln('y = ',y);
end.
Пример:
x = 5
y = 0.2