Я пытаюсь написать код, который проверяет, состоит ли строка из уникальных символов. Я выполняю некоторую проверку данных в первых нескольких строках, и вводим код с этими условиями (длина = 1 или длина> 36) работает. Когда я ввожу строку, которая не соответствует ранее заявленным требованиям, я попытался сравнить каждый символ моей строки с любым другим символом. Даже для строк уникальных символов, например, в следующем примере, он возвращает, что строка не состоит из уникальных символов. < /P>
string string = "abcdefghijklmnopqrstuvwxyz0123456789";
bool uniqueCharacters = false;
//if length is 1, automatically return that the string is made up of unique characters
if (string.length() == 1) {
uniqueCharacters = true;
}
//there are 26 letters and 10 numbers, so if a string is made up of more than 36 chars, there must be some overlap
if (string.length() > 36) {
uniqueCharacters = false;
}
else if (string.length() > 1 && string.length() < 37) {
for (int i = 0; i < string.length(); i++) {
for (int j = 1; j < string.length(); j++) {
if (string == string[j]) {
uniqueCharacters = false;
}
else {uniqueCharacters = true;}
}
}
}
if (uniqueCharacters == true) {
cout
Подробнее здесь: https://stackoverflow.com/questions/413 ... n-a-string