2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Поиск повторяюшихся элементов в последовательности
Сообщение09.12.2006, 20:41 
Как можно решить задачу на T.Pascal

Дана последовательность целых чисел (в виде массива(одномерного))
Определить колличество повторящихся элементов в этом массиве

Пример
> 1 2 3 1 1 7 3 7 (последовательность)
> 5 (резутат,-количество повторяюшихся элементов в данной последовательности)

 
 
 
 
Сообщение09.12.2006, 20:45 
Аватара пользователя
проще всего, наверное, отсортировать и, пройдя по последовательности, посмотреть, сколько раз меняется значение.

 
 
 
 
Сообщение09.12.2006, 22:06 
Аватара пользователя
Судя по примеру, имеется в виду количество (неупорядоченных) пар равных элементов.

 
 
 
 
Сообщение09.12.2006, 22:14 
Аватара пользователя
$1-1-1$ - три пары
$3-3$ - одна пара
$7-7$ - одна пара

и тогда, упорядочив массив, и подсчитав число одинаковых элементов, несложно посчитать число пар

 
 
 
 
Сообщение09.12.2006, 22:51 
Аватара пользователя
Что Вам не понятно? Алгоритм как это сделать или как написать код его реализующий? Или то и другое? :)

Вот код на С++:

Код:
int calc(int* a, int n)
{
    int res = 0;
    for(int i = 0; i < n; i++)
    {
        for(int j = i + 1; j < n; j++) if(a[i] == a[j]) res++;
    }
    return res;
}

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group