Как сравнить элементы 2D String Array, чтобы найти повторяющиеся элементы? - PullRequest
0 голосов
/ 07 января 2020

Итак, у меня есть эта курсовая работа, где нас попросили найти повторяющиеся слова в строке и отобразить повторяющиеся слова и сколько раз они повторялись.

У меня была идея извлечь слова и помещая каждое слово в виде строки в массиве 2D-строк, а затем сравнивая каждый элемент со всем 2D-массивом, а в случае повторения слово затем отображается с количеством повторений.

Я смог чтобы достичь первой части извлечения слов и помещения их в массив строк 2D. Тем не менее, я застрял оттуда и не уверен, как сравнить каждый элемент со строкой.

Ваша помощь очень ценится.

1 Ответ

0 голосов
/ 07 января 2020

Для сравнения строк вы можете использовать логи c, которые: могут быть вложены два цикла, внешний l oop будет от i = 0 до количества слов, внутренний от j = i + 1 до количество слов (в отношении строк двумерного массива теперь можно сравнивать строки). Теперь, как только дубликат будет обнаружен, ему будет присвоено 0, чтобы снова и снова избегать проверки, и счет будет увеличен. После этого во время печати или выполнения какой-либо операции будет проверяться, является ли счет больше 1, а также само слово не 0.

for(int i=0;i<n;++i){
        count = 1;

    for(int j=i+1;j<n;++j){

        if(word[i]==word[j]){
        ++count;     word[j]="0"; // this is to avoid recounting duplicate word

         }
     }                           // end of inner for loop

        if(count>1 && word[i]!=0){
        printf("Duplicate word is %s",word[i]);   //or any other work
        }
} // end of outer for loop



...