From 20427395d738284146c8d10ea244d8cea146256a Mon Sep 17 00:00:00 2001 From: Denis Landa Date: Fri, 3 Oct 2025 07:55:59 +0000 Subject: [PATCH] Delete program.c --- program.c | 138 ------------------------------------------------------ 1 file changed, 138 deletions(-) delete mode 100644 program.c diff --git a/program.c b/program.c deleted file mode 100644 index 208492f..0000000 --- a/program.c +++ /dev/null @@ -1,138 +0,0 @@ -#include -#include -#include -#include - -#define LINESIZE 100 -#define MAX_ITEMS 100 - -struct pizza { - float prize; - char name[LINESIZE]; -}; - -// Funkcia na transformáciu znaku do Hacker Script formátu -char hacker_script(char c) { - // Ak je znak veľké písmeno, premeníme na malé - if (isupper(c)) { - return tolower(c); - } - - // Tabuľka premeny číslic na písmená - char numbers[] = "0123456789"; - char letters[] = "oizeasbtbq"; - - // Pre každú číslicu nájdeme zodpovedajúce písmeno - for (int i = 0; i < 10; i++) { - if (c == numbers[i]) { - return letters[i]; - } - } - - // Ak žiadna z predchádzajúcich podmienok neplatí, vrátime pôvodný znak - return c; -} - -// Funkcia na vyhľadávanie reťazca s podporou Hacker Script -int search_string(const char* heap, const char* needle) { - int heap_len = strlen(heap); - int needle_len = strlen(needle); - - // Ak je hľadaný reťazec dlhší ako prehľadávaný, nemôže sa v ňom nachádzať - if (needle_len > heap_len) { - return -1; - } - - // Prejdeme všetky možné začiatky v heap - for (int i = 0; i <= heap_len - needle_len; i++) { - int found = 1; - - // Porovnáme každý znak s ohľadom na Hacker Script - for (int j = 0; j < needle_len; j++) { - char h_char = hacker_script(heap[i + j]); - char n_char = hacker_script(needle[j]); - - if (h_char != n_char) { - found = 0; - break; - } - } - - if (found) { - return i; // Vrátime pozíciu nájdeného reťazca - } - } - - return -1; // Reťazec nebol nájdený -} - -// Funkcia na načítanie jednej položky pizze -int read_pizza(struct pizza* item, FILE* stream) { - char line[LINESIZE]; - char price_line[LINESIZE]; - - // Načítanie názvu - if (fgets(line, LINESIZE, stream) == NULL) { - return 0; - } - - // Odstránenie nového riadku - line[strcspn(line, "\n")] = 0; - - // Načítanie ceny - if (fgets(price_line, LINESIZE, stream) == NULL) { - return 0; - } - - // Prevod reťazca na float - char* endptr; - float value = strtof(price_line, &endptr); - - // Kontrola, či sa konverzia podarila - if (endptr == price_line || value == 0.0f) { - return 0; - } - - // Uloženie hodnôt do štruktúry - strcpy(item->name, line); - item->prize = value; - - return 1; -} - -int main() { - char search_term[LINESIZE]; - struct pizza items[MAX_ITEMS]; - int item_count = 0; - - // Výzva a načítanie hľadaného reťazca - printf("Zadaj hladanu surovinu:\n"); - if (fgets(search_term, LINESIZE, stdin) == NULL) { - printf("Chyba pri čítaní hľadaného reťazca\n"); - return 1; - } - - // Odstránenie nového riadku z hľadaného reťazca - search_term[strcspn(search_term, "\n")] = 0; - - // Výzva na zadanie jedálneho lístka - printf("Zadaj jedalny listok:\n"); - - // Načítanie položiek jedálneho lístka - while (item_count < MAX_ITEMS && read_pizza(&items[item_count], stdin)) { - item_count++; - } - - // Vyhľadávanie a výpis vyhovujúcich položiek - for (int i = 0; i < item_count; i++) { - if (search_string(items[i].name, search_term) != -1) { - printf("%s\n", items[i].name); - printf("%.2f\n", items[i].prize); - } - } - - // Výpis počtu načítaných položiek - printf("Nacitanych %d poloziek.\n", item_count); - - return 0; -} \ No newline at end of file