From 4903b6620419c1d621c167f661f5660ad2937e7c Mon Sep 17 00:00:00 2001 From: an760cw Date: Wed, 27 Sep 2023 20:11:16 +0200 Subject: [PATCH] program.c --- cv1/program.c | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/cv1/program.c b/cv1/program.c index 0d03865..6f829fd 100644 --- a/cv1/program.c +++ b/cv1/program.c @@ -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() {