Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2013, 21:52   #1
pavelitel
Пользователь
 
Регистрация: 27.09.2012
Сообщений: 21
Сообщение Аналогия функции count в языке С

Добрый день, такой вопрос, для подсчета количества одинаковых элементов в массиве в С++ есть функция count из библиотеки #include <algorithm>,

есть ли аналогия этой функции в языке Си? вот пример, у меня есть массив из n элементов,а в другой массив, я должен положить количество одинаковых элементов, На С++ у меня выглядеть так
Код:
for(int j=0;j<m;j++)
            {
                mas_count[j]=count(mas_hold, mas_hold+m, mas_hold[j]);   //подсчет колличества повторений
            }

Последний раз редактировалось Stilet; 17.11.2013 в 23:52.
pavelitel вне форума Ответить с цитированием
Старый 14.11.2013, 21:54   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

А руками описать её Вам что не позволяет?
PS Вряд ли есть аналог в Си.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.11.2013, 21:56   #3
pavelitel
Пользователь
 
Регистрация: 27.09.2012
Сообщений: 21
По умолчанию

Она находится внутри кучи циклов, если я еще запущу там парочку, то программа начинает не проходить по времени
pavelitel вне форума Ответить с цитированием
Старый 14.11.2013, 22:04   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

На сколько я знаю, такой функции нет... Просто возможно я ее не знаю. А Вам рекомендую реализовать ее самостоятельно.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 14.11.2013, 22:24   #5
pavelitel
Пользователь
 
Регистрация: 27.09.2012
Сообщений: 21
По умолчанию

Подскажите пожалуйста, как примерно это реализовать в ручную тогда
pavelitel вне форума Ответить с цитированием
Старый 14.11.2013, 22:28   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Просто сделать цикл от 0 до m - 1, в котором производить сравнение и увеличение счетчика. Может быть, Вы не оптимально написали остальную программу (вспоминается случай, когда упорно оптимизировали кусок программы, заоптимизировали по максимуму, а программа все равно не проходила по времени, когда же был приведен весь код программы, то оказалось, что он просто ужасно неоптимизирован кроме того самого замученного куска).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.11.2013, 23:19   #7
pavelitel
Пользователь
 
Регистрация: 27.09.2012
Сообщений: 21
По умолчанию

Спасибо, сейчас будем работать над этим)
pavelitel вне форума Ответить с цитированием
Старый 17.11.2013, 23:35   #8
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Цитата:
Подскажите пожалуйста, как примерно это реализовать в ручную тогда
Не вопрос.

Код:
int _count(const int* f, const int* l, int n){
    register int i = 0;
    while(f != l) {
          if(*f++ == n)
                 ++i;
    }
    return i;
}
Nuklon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Табулирование функции на языке Паскаль Businka_jul Паскаль, Turbo Pascal, PascalABC.NET 0 11.10.2013 16:28
Чем отличается ListBox.Count от ListBox.Items.Count bakanaev Общие вопросы Delphi 5 16.08.2012 12:35
Функции в языке С(просто С). Задачи. ZinGoZol Помощь студентам 6 30.03.2011 20:14
Аналогия канвы для команды в паскале Zerony Мультимедиа в Delphi 1 14.01.2009 12:32