Update cv1/program.c

This commit is contained in:
Viktor Daniv 2024-10-04 12:20:12 +00:00
parent 46ad166f89
commit 3d5008d64c

View File

@ -2,7 +2,7 @@
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
// Функція для порівняння символів за правилами Hack3r scr1pt // Funkcia na porovnanie znakov podľa pravidiel Hack3r scr1pt
int isHack3rEquivalent(char c1, char c2) { int isHack3rEquivalent(char c1, char c2) {
char table[256] = {0}; char table[256] = {0};
table['0'] = 'o'; table['o'] = '0'; table['0'] = 'o'; table['o'] = '0';
@ -23,7 +23,7 @@ int isHack3rEquivalent(char c1, char c2) {
return table[(unsigned char)c1] == c2; return table[(unsigned char)c1] == c2;
} }
// Функція для перевірки наявності ключового слова в назві // Funkcia na zistenie, či sa reťazec hľadanej suroviny nachádza v názve jedla
int isHack3rMatch(const char *name, const char *search) { int isHack3rMatch(const char *name, const char *search) {
int name_len = strlen(name); int name_len = strlen(name);
int search_len = strlen(search); int search_len = strlen(search);
@ -41,8 +41,7 @@ int isHack3rMatch(const char *name, const char *search) {
return 0; return 0;
} }
int main() int main() {
{
char line[200]; char line[200];
char name[100]; char name[100];
char price[20]; char price[20];
@ -50,31 +49,30 @@ int main()
printf("Zadaj hladanu surovinu:\n"); printf("Zadaj hladanu surovinu:\n");
fgets(name, sizeof(name), stdin); fgets(name, sizeof(name), stdin);
name[strcspn(name, "\n")] = 0; // Видаляємо символ нового рядка name[strcspn(name, "\n")] = 0; // Odstráni znak nového riadku
printf("Zadaj jedalny listok:\n"); printf("Zadaj jedalny listok:\n");
// Зчитуємо рядки, поки є вхідні дані // Zisťujeme riadky, pokiaľ je vstup
while (fgets(line, sizeof(line), stdin) != NULL) { while (fgets(line, sizeof(line), stdin) != NULL) {
line[strcspn(line, "\n")] = 0; // Видаляємо символ нового рядка // Kontrolujeme, či sa riadok dá načítať
if (strcmp(line, "\n") == 0) {
// Якщо рядок порожній, зупиняємо цикл break; // Ak je riadok prázdny, zastavujeme
if (strcmp(line, "") == 0) {
break;
} }
// Зчитуємо наступний рядок, що містить ціну line[strcspn(line, "\n")] = 0; // Odstráni znak nového riadku
// Načítanie nasledujúceho riadku, ktorý obsahuje cenu
if (fgets(price, sizeof(price), stdin) == NULL) { if (fgets(price, sizeof(price), stdin) == NULL) {
break; // Якщо більше немає рядків, виходимо break; // Ak nie sú ďalšie riadky, ukončujeme
} }
price[strcspn(price, "\n")] = 0; // Видаляємо символ нового рядка price[strcspn(price, "\n")] = 0; // Odstráni znak nového riadku
// Якщо знайдено збіг, виводимо назву і ціну // Ak je zhodná, vypíšeme názov a cenu
if (isHack3rMatch(line, name)) { if (isHack3rMatch(line, name)) {
printf("%s\n%s\n", line, price); printf("%s\n%s\n", line, price);
count++;
} }
count++;
} }
printf("Nacitanych %d poloziek.\n", count); printf("Nacitanych %d poloziek.\n", count);