Сортировка массива с одинаковыми значениями и подсчетом их количества

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Pastushak
89740
Vladimir Pastushak  

Есть массив с данными типа {text, text, text1, text147, text45, text, text65, text65 }

Задача отсортировать и посчитать сколько раз встречается то или оное слово...

Georgiy Merts
9179
Georgiy Merts  

Ну а в чем проблема-то ?

Если у тебя в массиве слова, и тебе надо выбрать их - используй силу  класс CArrayString

Там есть сортировка, а дальше - пробегаешься по массиву, и подсчитываешь одинаковые слова.

Или там не слова, а целые фразы, и надо как-то выбирать их ?

Vladimir Pastushak
89740
Vladimir Pastushak  

Вот если кому надо считает количество совпадений текста в массиве плюс упорядочивает массив

   int x=0,r=0;
   bool flag=false;
   ZeroMemory(count);
   while(x<ArraySize(mass))
     {
      flag=false;
      //if(StringFind(mass[x].s_FileName,".zip")!=-1 || StringFind(mass[x].s_FileName,".csv")!=-1) // посчитать файлы по расширению
        {
         for(int t=0; t<ArraySize(count); t++)
            if(mass[x].s_FileName==count[t].FileName)
              {
               flag=true;
               count[t].Count++;
               break;
              }

         if(!flag)
           {
            ArrayResize(count,r+1,3000);
            count[r].FileName=mass[x].s_FileName;
            r++;
           }
        }
      x++;
     }

//   Print(" Name "+count[y].FileName+"    "+IntegerToString(count[y].Count+1));
Aleksei Radchenko
1109
Aleksei Radchenko  
Vladimir Pastushak:

Вот если кому надо считает количество совпадений текста в массиве плюс упорядочивает массив


Этот алгоритм подсчитывает количество дублей в массиве + убирает их из результирующего массива, что не совпадает с заявлением.

+ Переалокация массива в каждой операции - то еще зло :)

Vladimir Pastushak
89740
Vladimir Pastushak  
Aleksei Radchenko:

Этот алгоритм подсчитывает количество дублей в массиве + убирает их из результирующего массива, что не совпадает с заявлением.

+ Переалокация массива в каждой операции - то еще зло :)


Предложите свой вариант...

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий