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 <ctype.h>
// Функція для порівняння символів за правилами Hack3r scr1pt
// Funkcia na porovnanie znakov podľa pravidiel Hack3r scr1pt
int isHack3rEquivalent(char c1, char c2) {
char table[256] = {0};
table['0'] = 'o'; table['o'] = '0';
@ -23,7 +23,7 @@ int isHack3rEquivalent(char c1, char 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 name_len = strlen(name);
int search_len = strlen(search);
@ -41,8 +41,7 @@ int isHack3rMatch(const char *name, const char *search) {
return 0;
}
int main()
{
int main() {
char line[200];
char name[100];
char price[20];
@ -50,31 +49,30 @@ int main()
printf("Zadaj hladanu surovinu:\n");
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");
// Зчитуємо рядки, поки є вхідні дані
// Zisťujeme riadky, pokiaľ je vstup
while (fgets(line, sizeof(line), stdin) != NULL) {
line[strcspn(line, "\n")] = 0; // Видаляємо символ нового рядка
// Якщо рядок порожній, зупиняємо цикл
if (strcmp(line, "") == 0) {
break;
// Kontrolujeme, či sa riadok dá načítať
if (strcmp(line, "\n") == 0) {
break; // Ak je riadok prázdny, zastavujeme
}
// Зчитуємо наступний рядок, що містить ціну
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) {
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)) {
printf("%s\n%s\n", line, price);
count++;
}
count++;
}
printf("Nacitanych %d poloziek.\n", count);