From 0f13b05344e80edf83cda6fef378c9c5422b0c58 Mon Sep 17 00:00:00 2001 From: AZEN-SGG Date: Thu, 8 May 2025 14:32:47 +0300 Subject: [PATCH] Almost finished 6th --- 2025.05.02/06Ex/array_io.c | 2 +- 2025.05.02/06Ex/solve.c | 2 +- 2025.05.02/tests/6th_test.sh | 41 ++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100755 2025.05.02/tests/6th_test.sh diff --git a/2025.05.02/06Ex/array_io.c b/2025.05.02/06Ex/array_io.c index 0ca64d1..7b47192 100644 --- a/2025.05.02/06Ex/array_io.c +++ b/2025.05.02/06Ex/array_io.c @@ -12,7 +12,7 @@ int init_array ( double *y_lst = d; double *x_lst = d + len; - double *t_lst = d + (len < 1); + double *t_lst = d + (len << 1); double x = a; diff --git a/2025.05.02/06Ex/solve.c b/2025.05.02/06Ex/solve.c index 227c5c2..167f2c4 100644 --- a/2025.05.02/06Ex/solve.c +++ b/2025.05.02/06Ex/solve.c @@ -43,7 +43,7 @@ int t6_solve ( return -1; if ((fabs(yi) - fabs(*maximum)) > DBL_EPSILON) - maximum = &yi; + maximum = y_lst + i; } *maximum = y; diff --git a/2025.05.02/tests/6th_test.sh b/2025.05.02/tests/6th_test.sh new file mode 100755 index 0000000..2c33689 --- /dev/null +++ b/2025.05.02/tests/6th_test.sh @@ -0,0 +1,41 @@ +script_name="$(basename "$0")" +iter="1000" +poly_deg="10" +prog="6" + +mkdir -p tests + +if [ -f Makefile ]; then + echo "Компиляция..." + make clean + make +fi + +if [ -f a0$prog.out ]; then + echo "Отсутствует исполняемый файл... [a0$prog.out]" + echo "Завершение..." + exit 1 +fi + +echo "Тест запущен..." + +for (( k = 3 ; k < 7; k++ )); do + echo "------- K = $k -------" + for (( a = -100 ; a < -40 ; a++ )); do + for (( b = -9 ; b < 10 ; b++ )); do + echo "./a0$prog.out $poly_deg "$(echo "$a / 10" | bc -l)" "$(echo "$b / 10" | bc -l)" 1e-16 $iter $k" + ./a0$prog.out $poly_deg "$(echo "$a / 10" | bc -l)" "$(echo "$b / 10" | bc -l)" 1e-16 $iter $k + done + done + for (( a = -9 ; a < 10 ; a++ )); do + for (( b = 11 ; b < 100 ; b++ )); do + echo "./a0$prog.out $poly_deg "$(echo "$a / 10" | bc -l)" "$(echo "$b / 10" | bc -l)" 1e-16 $iter $k" + ./a0$prog.out $poly_deg "$(echo "$a / 10" | bc -l)" "$(echo "$b / 10" | bc -l)" 1e-16 $iter $k + done + done +done >$(pwd)/tests/out_$script_name.log 2>$(pwd)/tests/err_$script_name.log + +echo "Тест записан в ./tests/out_$script_name.log" +echo "Ошибки записаны в ./tests/err_$script_name.log" +echo "Тест завершен" +