Я пытаюсь найти уникальное количество слов из текстового файла.Но по какой-то причине мой номер всегда выключен.Мой обычный счетчик слов выходит хорошо, хотя.
Мой строковый массив wordArr
содержит все слова из файла.
Я пытаюсь присвоить каждое слово другому массиву после того, как он будет признан не уникальным, затем я просматриваю списокслова, через которые я уже прошел, чтобы увидеть, соответствует ли это текущему слову, которое показывают.Если слова совпадают, я устанавливаю oldWord
в значение true, и слово не учитывается при подсчете unique
.
//New portion
int main(int argc, char *argv[]) {
//File Paths
ifstream fp;
fp.open(argv[1]);
if (fp.fail()) {
cout << "Error No file" << endl;
return 0;
}
string wordArr[10000];
string words;
string temp;
int wordCount = 0;
while (fp >> words) {
int newWord = 0;
for (int i; i < words.length(); i++) {
if (isalpha(words[i])) {
} else {
wordArr[wordCount++] = words.substr(0, i);
//wordCount++;
newWord = 1;
if(words[i] + 1 != '\0') {
for (int j = i + 1; j < words.length(); j++) {
temp = temp +words[j];
}
wordArr[wordCount++] = temp;
//wordCount++;
}
}
}
if (newWord == 0) {
wordArr[wordCount] = words;
wordCount++;
}
}
cout << "Number of words found was: " << wordCount << endl;
//New portion
// makes all lower
for(int k=0; k<wordCount;k++){ //need to find size of array
for(int l=0; l<wordArr[k].length(); l++){
tolower(wordArr[k].at(l));
}
}
//unique count
string tempArr[10000];
int unique=0;
int oldWord=0;
for(int m=0; m<wordCount;m++ ) {
for (int n = 0; n < wordCount; n++) {
if (wordArr[m] == tempArr[n]) {
oldWord = 1;
}
}
if(oldWord==0){
wordArr[m] = tempArr[n];
unique++;
}
}
cout << "Unique word count is: " << unique << endl;
}
Я ожидаю получить 52 уникальных слова из моего теста, но в итоге получаю только37.
Контрольный пример:
Криптография - это как практика, так и изучение методов, используемых для передачи и / или хранения информации или данных в частном и безопасном режиме, без перехвата третьими лицами.,Это может включать такие процессы, как шифрование, хеширование и стеганография.До современной эры криптография почти исключительно относилась к шифрованию, но в настоящее время криптография является широкой областью применения во многих критических областях нашей жизни.