Подскажите. Как найти в массиве слово которое встречается чаще всего? Массив текстовый
И ответы опять сильно глючат. Что огорчает немного.
И ответы опять сильно глючат. Что огорчает немного.
Все добрые дела делаются с того, что массив нужно отсортировать, например, по возрастанию. Объявить счётчик и инициализировать его единицей и переменную для максимума, так же равную единице и наконец две переменных типа строка, в которые поместить первое слово массива. Одна переменная будет хранить текущее слово, вторая то, которое встретилось чаще. Потом брать второе слово массива и сравнивать его с предыдущим, если совпадают, то счётчик увеличивать на единицу, иначе присвоить счётчику единицу. Если значение счётчика становиться больше максимума, то максимум принимает значение счётчика, а значение переменной текущего слова, присваивается переменной часто встречающегося слова. И так до конца массива.
Можно запоминать не слово, а индекс массива.
В конце вывести слово и количество совпадений.
Удачи!
P.S. Язык не забываем указывать!
max = 0; max_w = ""; s.split( " " ).each do |w| h[ w ] = h[ w ] + 1; if (h[ w ] > max) then begin max = h[ w ]; max_w = w; end; end; print "Слово: #{ max_w }\n";
УПД: Надо наверное пролог изучить, чтобы на нем ответы давать.