From 59d2d3e1cd475236b8c25bc35d109db67915ef12 Mon Sep 17 00:00:00 2001 From: etrushko05 Date: Sat, 22 Nov 2025 03:22:24 -0500 Subject: [PATCH] 523 --- aux_bin | Bin 0 -> 18384 bytes aux_bin.o | Bin 0 -> 4320 bytes aux_lib.c | 32 +++++++++++++++++++++--- aux_lib.h | 2 ++ aux_lib.o | Bin 0 -> 4040 bytes aux_test | Bin 0 -> 80408 bytes aux_test.c | 62 ++++++++++++++++++++++++++++++++++++++++++---- aux_test.o | Bin 0 -> 15272 bytes munit/example | Bin 0 -> 46448 bytes munit/munit.o | Bin 0 -> 87248 bytes str_test.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++ 11 files changed, 154 insertions(+), 9 deletions(-) create mode 100755 aux_bin create mode 100644 aux_bin.o create mode 100644 aux_lib.o create mode 100755 aux_test create mode 100644 aux_test.o create mode 100755 munit/example create mode 100644 munit/munit.o create mode 100644 str_test.c diff --git a/aux_bin b/aux_bin new file mode 100755 index 0000000000000000000000000000000000000000..71abefa46005fdacc09ae4601df4e69a34731c13 GIT binary patch literal 18384 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≶tNPZ7`YNyx#C(uV3?4qxzINqtp z>(Fx>T~PV8_lqaUi@a^7?qi-CM1)v(iaBDP)J#vb`#l7V9BFusf^pTvuQ3 z;yg25Dwre5e3};S4eWz|I-57kB`fW^{~%Rq1RN@rR6MnG5X=6!N9f^Eez`Eu+?v2esH+Q&q!sv0V1v3@g~7BSp`tl|+N z9Y>O-5fMut%Oj{m?V@9Oz$%uqh5S6hgso`hk_1rPk(^Bt(XbfUSf&8Rrn^^+MiHC} z@({$V5jAc`(g?zmYTu5X1Gq_MoIuWSa`4QfzT{{&g~k+Yss~M_0~+ zYp9$7B$>}(^eZu&A1*MT92%m#sj^@#tHnGr$SkRG2#fBM^1tBeeFbKp>f!X-b;eOo zY|NbJ6?*J(;}=^G%^6m|;>CXtM#>-Kd7j5~mm3V;i~p$y zKNfWWOdBY;t8m^}^)eXu^~3xB2vK%a)LTEjS)p@;&Os_XpXUD|@YcsN(^+7eurZ$J z@8>!w+T3_`q&b=Kmtdf=%XpqYSO1Sf^`FN#<9HlC2`srVp4YKYcS4D>&LP!3*$4|@!ZWA*w)@SjomAM%Nz0ABp2MezIS0TSgA55Oae{zdS= z+UVf-dH^0#>{EDe{%+dr;Q#87>YnjT>A8b=FMj#04y3<|bQs3DsV7C!@sPq#tATM7 rwDhdX47<)`eEl7?lJ=%rd(>yF2ObjLytr zL5U`!p)nYm@Iaz5@IrjV2aWN;5KXM;i;0O(B=!LeiJ0iCkl;CY?%58P@r9GjoO8Z= z{^s6u@11u`2ls27Ga}CRuqBO9#*Su|*TW{DIGynnl);ktT8FPNT?#2YC2V*+V1XOgq?SNSu8BEF#dXW}A+XRm z7h~x<7{uD}5@;eZ4SVaCP%VhRsVp#~Jv*|%7eHqIPr%;NIu~=$+nD5T)%1jSxtKho}eD6>! zJ3g!-_Sn$$;L}4KEE76Il2_FI-+%lk&91zi>-!tC-ZL|stBF=ljT%N5Hm zRN08@IQ~e>s61KrP0zny?|ANrWmj9Bni+Ci3V>3}suY^c^J|s^oE?~)9M5fj)~r~D zEk7ndx@(IRan)AHrQ;`FW_-4vujx&u&cZsc1soqF(J1?}{U2(ReF^O%SOj>~8`~t# z{<#}97K=QYVOs^;{yvvju&*QV=mKJJfJ9M@^+myu7q+%S7-4y+PTC~>fa9amY5=0} z;s3!yD<}GLsh4Hzg_<67(Hh_`!$b4V-GH{@AP{acymtuSfgljtHNv_WGUyA(^ssF3s zze}Cg0_Pcfg^2c$8lTn&?Xe$dy*Eim!naC&n}XARcuK+dNqtJG z>&!_Udk~*46};nZxCU6k^WA_qNpj7WQSi-KpA~9`Z?Hne^H{-k0!570%u1(Gw(PnC zHbOQk71ullX6P&-*RUIK&4jU*Wt-#z`A9^#EcB|=Zkuo;6>P^h3vl7(J>RI#$RK93 zTz8GO+5L{K+b4BY;af(v7M1bUI8>Tg&V4oDjAjpd{;1!9(ACJgGX9o2%_6f$s zGcrtngq4u2=Et8WjQODcc-~;ldwK$N%1`?mAVF&WJ%Fkh8m^Y$K4nl*8J<^B^LIh~ z*~8r>3&Z)tDOKn1Il$DI0I?&|??+TZq}sj?V=9K`8{~x2ex(qq?O_;*s{e92@F0Jz zA0f5=Hvv;)qUS3z{~RhIQf*r>7L|Wd=Koy!Vt%|c)chv_!S9+eyYW+}fccm-fl{ezgg_tF0{ZWbUsAHt-5 SKh_lGe?iuNCF~5c>i-`Onxn-4 literal 0 HcmV?d00001 diff --git a/aux_lib.c b/aux_lib.c index 469bd42..6740812 100644 --- a/aux_lib.c +++ b/aux_lib.c @@ -6,8 +6,18 @@ int fibonacci(int nitem) { - //YOUR_CODE - return 42; + if (nitem <= 0) return 0; + if (nitem == 1) return 1; + + int prev = 0; + int curr = 1; + + for (int i = 2; i <= nitem; i++) { + int next = prev + curr; + prev = curr; + curr = next; + } + return curr; } /* @@ -17,6 +27,20 @@ fibonacci(int nitem) bool sum_is_odd(int *arr, int arrsz) { - //YOUR_CODE - return false; + int sum = 0; + for (int i = 0; i < arrsz; i++) { + sum += arr[i]; + } + return (sum % 2 != 0); } + +int bit_count(unsigned int number) +{ + int count = 0; + while (number) { + count += number & 1; + number >>= 1; + } + return count; +} + diff --git a/aux_lib.h b/aux_lib.h index bcf878c..6143968 100644 --- a/aux_lib.h +++ b/aux_lib.h @@ -5,3 +5,5 @@ int fibonacci(int nitem); bool sum_is_odd(int *arr, int arrsz); +int bit_count(unsigned int number); + diff --git a/aux_lib.o b/aux_lib.o new file mode 100644 index 0000000000000000000000000000000000000000..256feea8f3de6902bf3cf617686b4e1295e69a65 GIT binary patch literal 4040 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 V5B2i@d)`=rA7A$9{`sPT{|hqK4p;yH literal 0 HcmV?d00001 diff --git a/aux_test.c b/aux_test.c index 0de7fbf..04b6d96 100644 --- a/aux_test.c +++ b/aux_test.c @@ -1,15 +1,67 @@ #include -#include "munit.h" +#include "munit/munit.h" #include "aux_lib.h" +#include + +static MunitResult test_fibonacci_base(const MunitParameter params[], void* fixture) { + munit_assert_int(fibonacci(0), ==, 0); + munit_assert_int(fibonacci(1), ==, 1); + munit_assert_int(fibonacci(2), ==, 1); + munit_assert_int(fibonacci(3), ==, 2); + return MUNIT_OK; +} + + + +static MunitResult test_bit_count(const MunitParameter params[], void* fixture) { + munit_assert_int(bit_count(0), ==, 0); + munit_assert_int(bit_count(1), ==, 1); + munit_assert_int(bit_count(3), ==, 2); + munit_assert_int(bit_count(8), ==, 1); + munit_assert_int(bit_count(255), ==, 8); + munit_assert_int(bit_count(0xFFFFFFFF), ==, 32); + return MUNIT_OK; +} + +static MunitResult test_fibonacci_advanced(const MunitParameter params[], void* fixture) { + munit_assert_int(fibonacci(10), ==, 55); + munit_assert_int(fibonacci(20), ==, 6765); + return MUNIT_OK; +} + +static MunitResult test_sum_odd(const MunitParameter params[], void* fixture) { + int arr[] = {1, 2, 3, 4, 5}; + munit_assert_true(sum_is_odd(arr, 5)); + return MUNIT_OK; +} + +static MunitResult test_sum_even(const MunitParameter params[], void* fixture) { + int arr[] = {1, 2, 3, 4, 5, 1}; + munit_assert_false(sum_is_odd(arr, 6)); + return MUNIT_OK; +} + +static MunitTest test_suite_tests[] = { + { (char*) "fibonacci base cases", test_fibonacci_base, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }, + { (char*) "fibonacci advanced cases", test_fibonacci_advanced, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }, + { (char*) "sum odd array", test_sum_odd, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }, + { (char*) "sum even array", test_sum_even, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }, + { (char*) "bit count", test_bit_count, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL }, + { NULL, NULL, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL } +}; static const MunitSuite test_suite = { - //FILL ME + (char*) "", + test_suite_tests, + NULL, // Вложенные наборы теÑ�tov + 1, // КоличеÑ�тво прогонов + MUNIT_SUITE_OPTION_NONE }; + int main(int argc, const char *argv[]) { - munit_suite_main(&test_suite, (void *) "string library test", argc, (char * const*) argv); - return 0; + munit_suite_main(&test_suite, (void *) "auxiliary library test", argc, (char * const*) argv); + return 0; } - diff --git a/aux_test.o b/aux_test.o new file mode 100644 index 0000000000000000000000000000000000000000..6a159a84a79b894ae718013203cd95ea583174bb GIT binary patch literal 15272 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 vBR!?~Q}tH!2aRv#J8q4udXdXZZeWt-a4Z_a;|c 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 literal 0 HcmV?d00001 diff --git a/str_test.c b/str_test.c new file mode 100644 index 0000000..074f9f4 --- /dev/null +++ b/str_test.c @@ -0,0 +1,67 @@ +#include +#include "munit.h" +#include "str_lib.h" + +static MunitResult +test_mystrlen(const MunitParameter params[], void * data) +{ + munit_assert_true(mystrlen("") == 0); + munit_assert_true(mystrlen("333") == 3); + munit_assert_true(mystrlen("helloworld") == 10); + return MUNIT_OK; +} + +static MunitResult +test_mystr_idx(const MunitParameter params[], void * data) +{ + munit_assert_true(mystr_idx("", "") == 0); + munit_assert_true(mystr_idx("h", "h") == 0); + munit_assert_true(mystr_idx("ah", "h") == 1); + munit_assert_true(mystr_idx("ah", "hh") == -1); + munit_assert_true(mystr_idx("ahh", "hh") == 1); + char *cap = "London is the capital of Great Britan"; + munit_assert_true(mystr_idx(cap, "python") == -1); + munit_assert_true(mystr_idx(cap, "London") == 0); + munit_assert_true(mystr_idx(cap, "o") == 1); + munit_assert_true(mystr_idx(cap, "is") == 7); + return MUNIT_OK; +} + +static MunitResult +test_mystr_idx_largestr(const MunitParameter params[], void * data) +{ + munit_assert_true(mystr_idx("", "LARGE STRING") == -1); + munit_assert_true(mystr_idx("ARGE_STRING", "LARGE STRING") == -1); + munit_assert_true(mystr_idx("ARGE STRING", "LARGE STRING") == -1); + munit_assert_true(mystr_idx("RGE STRING", "LARGE STRING") == -1); + return MUNIT_OK; +} + +#define TEST_ITEM(func) {#func, func, NULL, NULL, MUNIT_TEST_OPTION_NONE } +static MunitTest test_suite_tests[] = { + TEST_ITEM(test_mystrlen), + + TEST_ITEM(test_mystr_idx), + TEST_ITEM(test_mystr_idx_largestr), + //TEST_ITEM(test_pvector_init), + + { NULL, NULL, NULL, NULL, MUNIT_TEST_OPTION_NONE, NULL } +}; + + +static const MunitSuite test_suite = { + (char *) "", + test_suite_tests, + NULL, + 1, + MUNIT_SUITE_OPTION_NONE +}; + + +int +main(int argc, const char *argv[]) +{ + munit_suite_main(&test_suite, (void *) "string library test", argc, (char * const*) argv); + return 0; +} +