Witam, chciałbym napisać funkcje która sprawdza czy dany wyraz jest isogramem. To znaczy czy litery w nim nie powtarzają się.
Problem polega na tym, że funkcja porównuje tylko dwie pierwsze litery w słowie więc w przypadku "aba" funkcja zwraca wartość "true" co oznaczałoby że wyraz ten jest isogramem, a nim nie jest ze względu na powtarzającą się literkę "a".
#include <iostream>
bool isogram_czy_nie(std::string str) {
int reason = 0;
for(int i = 0; i<=str.length(); i++){
char b = str[i];
for (int j = 1; j <= str.length(); j++){
if (b == str[j]){
reason += 1;
}
else{
reason += 0;
}
if (reason > 0){
return 0;
}
else{
return 1;
}
}
}
}
int main(){
std::string str;
std::cin>>str;
std::cout<< isogram_czy_nie(str);
}