From eddecb5fff5b19f6fb18f9c340ca250a604ee5e1 Mon Sep 17 00:00:00 2001 From: Anton Dolozin Date: Tue, 23 Sep 2025 14:20:41 +0200 Subject: [PATCH] First try --- du1/program.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 du1/program.c diff --git a/du1/program.c b/du1/program.c new file mode 100644 index 0000000..07aff83 --- /dev/null +++ b/du1/program.c @@ -0,0 +1,73 @@ +#define LINE_SIZE 100 +#include +#include +#include +#include +struct pizza +{ float prize; +char name[LINE_SIZE]; +}; + +char hacker_script(char c) { + + + if (isupper(c)) { + return (char) tolower(c); + } + + + const char numbers[] = "0123456789"; + const char letters[] = "oizeasbtbq"; + + for (int i = 0; i < 10; i++) { + if (c == numbers[i]) { + return letters[i]; + } + } + + return c; +} +//int read_pizza(struct pizza* item){ + //char line[LINE_SIZE]; + //char line2[LINE_SIZE]; + // memset(line,0,LINE_SIZE); + // memset(line2,0,LINE_SIZE); + //fgets(line, sizeof(line), item->name); + //float value = strtof(line2, item->prize); + // printf("%s ", line2); + +//} + +int search_string(const char* heap, const char* needle) { + + int heap_len = strlen(heap); + int needle_len = strlen(needle); + + for (int i = 0; i <= heap_len - needle_len; i++) { + int j; + for (j = 0; j < needle_len; j++) { + char perm_n = hacker_script(needle[j]); + char perm_h = hacker_script(heap[i + j]); + + + if ((perm_n == '6' && perm_h == '8') || (perm_n == '8' && perm_h == '6')) { + continue; + } + + if (perm_n != perm_h) { + break; + } + } + + if (j == needle_len) { + return i; + } + } + + return -1; +} + +int main(void) { + int res = search_string("8rynd20va P1zza", "pizza"); + printf("%d", res); +} \ No newline at end of file