From eb15a782549dc066a11faa454b0c73f562a6c175 Mon Sep 17 00:00:00 2001 From: Viktor Daniv Date: Thu, 3 Oct 2024 21:29:33 +0000 Subject: [PATCH] Update cv1/program.c --- cv1/program.c | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/cv1/program.c b/cv1/program.c index bf549c1..39a3703 100644 --- a/cv1/program.c +++ b/cv1/program.c @@ -2,14 +2,12 @@ #include #include -// Функція для перевірки еквівалентності символів за правилами Hack3r scr1pt +// Funkcia na kontrolu ekvivalentnosti znakov podľa pravidiel Hack3r scr1pt int isHack3rEquivalent(char c1, char c2) { - // Приведення до нижнього регістру для спрощення порівняння c1 = tolower(c1); c2 = tolower(c2); - // Таблиця замін символів згідно з правилами Hack3r scr1pt - if (c1 == c2) return 1; // Якщо символи однакові + if (c1 == c2) return 1; if ((c1 == '0' && c2 == 'o') || (c1 == 'o' && c2 == '0')) return 1; if ((c1 == '1' && c2 == 'i') || (c1 == 'i' && c2 == '1')) return 1; if ((c1 == '2' && c2 == 'z') || (c1 == 'z' && c2 == '2')) return 1; @@ -21,58 +19,53 @@ int isHack3rEquivalent(char c1, char c2) { return 0; } -// Функція для перевірки, чи містить назва страви шуканий інгредієнт +// Funkcia na kontrolu, či názov jedla obsahuje hľadanú surovinu int isHack3rMatch(const char *name, const char *search) { int name_len = strlen(name); int search_len = strlen(search); - // Перебір по назві страви for (int i = 0; i <= name_len - search_len; i++) { - int match = 1; // Прапорець для перевірки відповідності + int match = 1; for (int j = 0; j < search_len; j++) { if (!isHack3rEquivalent(name[i + j], search[j])) { - match = 0; // Якщо хоч один символ не збігається, не підходить + match = 0; break; } } - if (match) return 1; // Якщо знайдено відповідність + if (match) return 1; } return 0; } int main() { - char search[100]; // Шуканий інгредієнт - char name[100]; // Назва страви - char price[20]; // Ціна страви - int count = 0; // Лічильник оброблених страв + char search[100]; + char name[100]; + char price[20]; + int count = 0; - // Введення шуканого інгредієнта + // Vstup pre hľadanú surovinu printf("Zadaj hladanu surovinu:\n"); fgets(search, sizeof(search), stdin); - search[strcspn(search, "\n")] = 0; // Видаляємо новий рядок + search[strcspn(search, "\n")] = 0; printf("Zadaj jedalny listok:\n"); - // Обробка кожної страви з меню + // Spracovanie jedálneho lístka while (fgets(name, sizeof(name), stdin)) { - // Якщо не вдалося прочитати ціну або назву, перериваємо обробку if (fgets(price, sizeof(price), stdin) == NULL || strlen(name) == 0) { - printf("err.\n"); + printf("Chyba pri nacitani.\n"); break; } - // Видаляємо нові рядки з кінця назви та ціни name[strcspn(name, "\n")] = 0; price[strcspn(price, "\n")] = 0; - // Якщо назва містить шуканий інгредієнт if (isHack3rMatch(name, search)) { - printf("%s\n%s\n", name, price); // Виводимо назву та ціну + printf("%s\n%s\n", name, price); } - count++; // Збільшуємо лічильник оброблених страв + count++; } - // Виведення кількості оброблених позицій - printf("Nacitanych %d poloziek..\n", count); + printf("Nacitanych %d poloziek.\n", count); return 0; } \ No newline at end of file