program.c
This commit is contained in:
parent
319cd77a2b
commit
4903b66204
@ -14,17 +14,33 @@ int lower(char c) {
|
||||
return (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9');
|
||||
}
|
||||
|
||||
char transform(char c) {
|
||||
switch (c) {
|
||||
case '0': return 'o';
|
||||
case '1': return 'i';
|
||||
case '2': return 'z';
|
||||
case '3': return 'e';
|
||||
case '4': return 'a';
|
||||
case '5': return 's';
|
||||
case '6': return 'b';
|
||||
case '7': return 't';
|
||||
case '8': return 'b';
|
||||
case '9': return 'q';
|
||||
default: return c;
|
||||
}
|
||||
}
|
||||
|
||||
int compare(const char *str1, const char *str2) {
|
||||
int i = 0, j = 0;
|
||||
while (str1[i] && str2[j]) {
|
||||
char c1 = str1[i];
|
||||
char c2 = str2[j];
|
||||
char c1 = transform(str1[i]);
|
||||
char c2 = transform(str2[j]);
|
||||
|
||||
if (c1 >= 'A' && c1 <= 'Z') {
|
||||
c1 += 'a' - 'A';
|
||||
if (str1[i] >= 'A' && str1[i] <= 'Z') {
|
||||
str1[i] += 'a' - 'A';
|
||||
}
|
||||
if (c2 >= 'A' && c2 <= 'Z') {
|
||||
c2 += 'a' - 'A';
|
||||
if (str2[i]>= 'A' && str2[i] <= 'Z') {
|
||||
str2[i] += 'a' - 'A';
|
||||
}
|
||||
|
||||
if (c1 != c2) {
|
||||
@ -35,7 +51,7 @@ if (c1 >= 'A' && c1 <= 'Z') {
|
||||
i++;
|
||||
j++;
|
||||
}
|
||||
return str1[i] == '\0' && str2[j] == '\0';
|
||||
return str1[i] == '\0' && str2[j] == '\0'; // Strings are equal
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user