From 8111104a39c142c2699ebcded4494dbfb173c474 Mon Sep 17 00:00:00 2001 From: ada-dmitry Date: Tue, 21 Nov 2023 23:00:20 +0300 Subject: [PATCH] s --- PROJECT/func.c | 11 +---------- PROJECT/main.c | 15 +++++++++++++++ PROJECT/out_p/prog2 | Bin 0 -> 16464 bytes 3 files changed, 16 insertions(+), 10 deletions(-) create mode 100755 PROJECT/out_p/prog2 diff --git a/PROJECT/func.c b/PROJECT/func.c index bd525f6..8476242 100644 --- a/PROJECT/func.c +++ b/PROJECT/func.c @@ -3,11 +3,9 @@ #include #include -static wait = 1; - double f(double x) { - return x + x - 16; + return x * x - 16; } void find_zero(double *pa, double *pb, double eps, double *px) @@ -22,15 +20,8 @@ void find_zero(double *pa, double *pb, double eps, double *px) void ctrlc_handler(int signum) { - printf("\nПолучен сигнал Ctrl+C\n"); printf("Продолжить поиск корня? (C - продолжить, A - закончить работу программы, R - начать поиск на другом отрезке): "); - while (getchar() != '\n') - { - printf("listener: stop"); - wait = 0; - _getch(); - } } // void choose_path(char *choice); // void new_row(double *pa, double *pb); \ No newline at end of file diff --git a/PROJECT/main.c b/PROJECT/main.c index 66416cc..8a03173 100644 --- a/PROJECT/main.c +++ b/PROJECT/main.c @@ -1,5 +1,6 @@ #include #include +#include double f(double x); // function x void find_zero(double *pa, double *pb, double eps, double *px); // @@ -11,13 +12,27 @@ int main() { double a, b, eps, x, *pa = &a, *pb = &b, *px = &x; char choice = ' ', *ch = &choice; + sigset_t set; + int sig; printf("Введите интервал [a, b] и точность eps: "); scanf("%lf %lf %lf", pa, pb, &eps); // if (a > b || ) + find_zero(pa, pb, eps, px); + // Создание набора сигналов и добавление в него SIGINT + sigemptyset(&set); + sigaddset(&set, SIGINT); + + // Блокировка SIGINT + sigprocmask(SIG_BLOCK, &set, NULL); + + // Ожидание получения сигнала Ctrl+C с помощью sigwait + sigwait(&set, &sig); + signal(SIGINT, ctrlc_handler); + printf("Корень уравнения: %lf\n", *px); printf("Работа программы завершена.\n"); diff --git a/PROJECT/out_p/prog2 b/PROJECT/out_p/prog2 new file mode 100755 index 0000000000000000000000000000000000000000..af8efe023c89eb260194da17d5d0ad9b6a1369e3 GIT binary patch literal 16464 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 literal 0 HcmV?d00001