From 58a2573b5233b5852031c818ff00c27681539003 Mon Sep 17 00:00:00 2001 From: "ada.dmitry" Date: Tue, 16 May 2023 09:40:30 +0300 Subject: [PATCH] work in progress...1 --- Homework/{arr_xor/appXor => L3 - ready/app} | Bin 16560 -> 16560 bytes Homework/{arr_xor => L3 - ready}/func.c | 32 ++--- Homework/L3 - ready/head.h | 19 +++ Homework/{arr_xor => L3 - ready}/main.c | 17 +-- Homework/SC/app | Bin 16440 -> 16448 bytes Homework/SC/func.c | 67 +++++----- Homework/SC/head.h | 12 +- Homework/SC/main.c | 37 ++++-- Homework/Trees/app | Bin 0 -> 16448 bytes Homework/Trees/func.c | 136 ++++++++++++-------- Homework/Trees/head.h | 9 +- Homework/Trees/main.c | 42 +++--- Homework/Trees/output/main | Bin 43584 -> 0 bytes Homework/arr_xor/head.h | 18 --- 14 files changed, 224 insertions(+), 165 deletions(-) rename Homework/{arr_xor/appXor => L3 - ready/app} (81%) rename Homework/{arr_xor => L3 - ready}/func.c (74%) create mode 100644 Homework/L3 - ready/head.h rename Homework/{arr_xor => L3 - ready}/main.c (69%) create mode 100755 Homework/Trees/app delete mode 100755 Homework/Trees/output/main delete mode 100644 Homework/arr_xor/head.h diff --git a/Homework/arr_xor/appXor b/Homework/L3 - ready/app similarity index 81% rename from Homework/arr_xor/appXor rename to Homework/L3 - ready/app index cd6b251263d68bcf1691e531fbacccd9bbf3f32c..4402d5de8f84b4af2ce7e881797c26f449031b29 100755 GIT binary patch delta 879 zcmZuwT}TvB6rMZl{;B2PuDe<4Y@r#l4*pPDY(g>Z_>x-rPy`}trLeiRDHf#>3+AM2 z>WRXaGGAPxhmA>+A{JlVtf*Bawuiu8Vj##$VK@Al&Nya1c$s^?bME=(JLev_!CNGV zpMe<14Aj~hgEYb#mx&rJi&carX*G-*ZXgKsyy-toztSC=rdcvMkHIUu#WPSYc^((6sNwVv-uXS8_d^q$DbltX2+7_tbN&5SF?( zac-bLuH29Bsf#!Ag{Hg$3|h4kz;)9eQV)+z(fn^qC@OH{ysu-NYTJReN3an^%8i*2 zc1uY!OK>UE3S;IYWIx2sGsFe&GW*DLIAh7r`|@W^KtcgY6&S*aD*`Uegp_$pQ;=fK zG4p;t6?>k0sa1LsCVAnbbRMFX!sJZ{EK;2|y($_utDpkUDwJD}gk!kU?G8Y@%ZjXzi$WG0nv)GO@{K&j4 z_apZIROdE~7{R#amn>gJtoSX<5@O||EF17%?T7`4Ss&2h(OE@oLd=QDayKGH!9!*@ ziNFM7A?5Iy*^550St{OOrJ#~uU%L={aaUm_9gPmRJ++HIx=p89A<23JrR1ODW}()W zOPp{SZ6^$%?Sp5E6{l^tlc337P6Fa%drU*(FjVX$HSo2VB{`5*5+VVZE@8=WAf+L4 z7bZ&UNekG@EF=sSW!1Ef7VngG8EBmz(j7&{fEBCZ3P6>^NvdJM!5aU+ktxRkV~|-R LP(jgnc$EGN7I{jD delta 820 zcmZuvT}TvB6rM9%x}%nEuDdIi&RQ7}y8dBlu8}!8(nC*yfgp=U3EN7WK1A3i8_MWz zQRktJdeBPjK}47ymR>d~w5Ui$WT_wpp$Q}{vNg82opJkn@G^70bLM>a`|dr=ST~H( zV+3Ky$gQs-G=W1{f<(2XHh=?6bz-9Yi>UC+X6{%;)2r}saqhD~esxPh#p24quo^JT zr01>rrCIQI&BCSVgcRfC;E7eaUy91goUBZ0@3AYhuxMk>{BI5#I8IiidA~G8LQ_0O zGk2u+(kUV-6tth1Zr&?=OVvq}+FLwqwr1b^!5F!a!lZUHk!yP1kLS!bxQl(}o#4Sy zbF^SJPE17#%l@t~*O@H`H{T~!oqLfw5whmAg*f^wHhh{@3lb(lHrMD*clQOvdFX30T0LqF6bT~t;kWaYKii65-{(*FBUL)3b^ zB_X;-^tFw)&0&wtu0F6eCgWp1jz&OTwnljCBx7Ul>~?tp3W_Cb~}t z;V!}#gmr{*!jx7@a$<~K0UQ+a(aJ+-ePpw^GKvRrtkoS)WO1-0W`c- zQV(^wP~w1eG?hjmgwv%CID}9Zfy+2v)(p*PFSkM%E6b1bF;M%;dyIT63AZ_mgpiFK gX@#)CSr4^%-RThi{pin~`-K5next != NULL) n = n->next; - Node *tmp = malloc(sizeof(Node)); + Unit *tmp = malloc(sizeof(Unit)); memcpy(tmp->name, s, LEN); tmp->prev = n; n->next = tmp; diff --git a/Homework/L3 - ready/head.h b/Homework/L3 - ready/head.h new file mode 100644 index 0000000..6338880 --- /dev/null +++ b/Homework/L3 - ready/head.h @@ -0,0 +1,19 @@ +#include +#include +#include +#include + +#define N 5 +#define LEN 5 + +typedef struct Unit +{ + struct Unit *next; + struct Unit *prev; + char name[LEN]; +} Unit; + +void node_print(Unit *n); +Unit get(Unit *node, int n); +Unit *xor_find(Unit *n1, Unit *n2); +Unit *add_tail(Unit *n, char s[]); \ No newline at end of file diff --git a/Homework/arr_xor/main.c b/Homework/L3 - ready/main.c similarity index 69% rename from Homework/arr_xor/main.c rename to Homework/L3 - ready/main.c index e425e3c..351e940 100644 --- a/Homework/arr_xor/main.c +++ b/Homework/L3 - ready/main.c @@ -3,12 +3,12 @@ int main(int argc, char *argv[]) { srand(time(0)); - Node *n1 = NULL; - Node *n2 = NULL; - Node *n3 = NULL; - if ((n1 = malloc(sizeof(Node))) == NULL || - (n2 = malloc(sizeof(Node))) == NULL || - (n3 = malloc(sizeof(Node))) == NULL) + Unit *n1 = NULL; + Unit *n2 = NULL; + Unit *n3 = NULL; + if ((n1 = malloc(sizeof(Unit))) == NULL || + (n2 = malloc(sizeof(Unit))) == NULL || + (n3 = malloc(sizeof(Unit))) == NULL) { printf("Could not malloc\n"); exit(2); @@ -32,14 +32,15 @@ int main(int argc, char *argv[]) n2 = add_tail(n2, s); } - printf("Begin arrays:\n"); + printf("First array:\n"); node_print(n1); printf("\n"); + printf("Second array:\n"); node_print(n2); n3 = xor_find(n1, n2); - printf("\nFinal array:\n"); + printf("\nThird array:\n"); node_print(n3); free(n1); diff --git a/Homework/SC/app b/Homework/SC/app index 5fd89a14f119fd8e1f013558961b025bce1ebb18..ed9480cfdb5a8f458a085e302cfbd63738738889 100755 GIT binary patch delta 962 zcmZ8fTSyd97(VB$wU=z&+sruL*fzYTmb#W2(wdBDDpAx!K}dAdT-HlUL}e>NDFzz< zQ_zb<6cmUK#6qAJp)UqSMf4JqJ*?7;WGVVE{pakqXanc`XTI>rQ*1rQ+6107c&QM$Wa>O zuG`E$GHwR@JXUIla?c=*z?8>l{g<@{@7?K;B>AC7R#O&jVuA=JkZ9i~Jd%CzOj6bU zO~b(KX#K$LDCxCL3;q^@kRoTonpCaWV~TZDtS1!KO=y%0VMWekwHuJGWIHl8&}dGJ ziuhq|9d!9HR7f7@xM3KT+NVC-w25bDZNNF{sD4tJw^*yZ*}*y-j6kmUbY|sm!^p$@ zoqx~?Yd6+btdFq{!b9))oeY$|z_swpFdDED&F;9%YIpBsfn>9V5YErzvaTA&yKVg2 z1pgE9m&gaV@fQ+&GA1&dq+~1KDrg_^B3Ot5Hwrqo3bX+eJC7oLWzWbim|+$@Tr`?Q zZ-BE@p_7nbTI6<+0}^i`M2wEr3n!4RhORP&K81cfpApDam?%|Bx-iGZoaB@uniAV} zjuQu|lVgzh5IlxOFNpmK)S&02IL~r_^)q%knMy2ygpoLWhcQ&H2qoU9GNnPnyXGKi zB=tXK8sa>6F`g^FA3dJO=LtAt&N;C{vY^DTs0Hz^d{+!M^Gkrwex9WUkmXZ30s>5I zP4K|4?6{1q47HYqAv8A)SEz|?c<-L0Q!Dfbk+pI?_yk>e2z8*P5 JTfiB}{R?sP00IC2 delta 947 zcmZ9KT}TvB6vyYzTB}>>e$F`7#<;QSrYqaJ_DQ&E6Kh#MMD-AxnJHvTS?z*-7#o7L zC}f={pTY`*h+-HLLGa_Dd@Mmo2t<)$q#lec{CJqoot+fDaPK+y{Ql?Mb1!!^Nd}Xo zr--!4zB-e$`s?N1#WvyFn9VQGosX6uz1u#Zbera~Ni($Cb4eUh_EWfivF{Q4ScZwD zq?wP>bo2ZW!A+MmGtA(Kq{dYz3lk2vMWsQye-4$76P(q^nJ+c;6xpE9QOZUMCKT{L z48?|GB4utUc4m>cQ0{z0reWCWv1mAGfnyBfJjif`yk{aEKZ_!%_Ni225=%@`+=OQx zk|rNmMoie8IM*el z+s&C6+J*Bo&SJQkztg*b-qfO|)u3HdvteCIl~$}zK+flP(_H{}cI+ayLEVUImXRBr*@+j?%NL1PBhuY>d{rQ{`4mhnW^{SSI4lc=|`0+Sg|SNp%tLLVv@ zbR~YHGQP%%U(CwnF}a(R0>)`S0arR#e{OVN8=Zu0>3BifFmBiv;su|P<+G>5X8Or+ zl+v?=3Z%5F%`b2go`m= #include -#include -#include -Stack get(Stack *l, int n) { - if (n > len(l)) - exit(3); - int i; - for (i = 0; i < n; i++) { +void linked_print(Stack *l) +{ + while (l != NULL) + { + printf("%lF\n", l->x); l = l->next; } - return *l; } -Stack *add_head(Stack *l, double x) { - if (l == NULL) { +Stack *add_head(Stack *l, double x) +{ + if (l == NULL) + { l = malloc(sizeof(Stack)); if (l == NULL) exit(1); @@ -23,7 +22,8 @@ Stack *add_head(Stack *l, double x) { l->next = NULL; } - if (l->x == 0.0) { + if (l->x == 0.0) + { l->x = x; l->next = NULL; return l; @@ -38,26 +38,12 @@ Stack *add_head(Stack *l, double x) { return tmp; } -void stack_print(Stack *l) { - while (l != NULL) { - printf("%lF\n", l->x); - l = l->next; - } -} - -int len(Stack *l) { - int ans = 0; - while (l != NULL) { - ans++; - l = l->next; - } - return ans; -} - -Stack *del_head(Stack *l) { +Stack *del_head(Stack *l) +{ if (l == NULL) return NULL; - else if (l->next == NULL) { + else if (l->next == NULL) + { free(l); l = NULL; return NULL; @@ -66,4 +52,27 @@ Stack *del_head(Stack *l) { free(l); l = NULL; return tmp; +} + +int len(Stack *l) +{ + int res = 0; + while (l != NULL) + { + res++; + l = l->next; + } + return res; +} + +Stack get(Stack *l, int n) +{ + if (n > len(l)) + exit(3); + int i; + for (i = 0; i < n; i++) + { + l = l->next; + } + return *l; } \ No newline at end of file diff --git a/Homework/SC/head.h b/Homework/SC/head.h index 1dcd576..50c53fd 100644 --- a/Homework/SC/head.h +++ b/Homework/SC/head.h @@ -1,13 +1,13 @@ +#define N 5 -#define N 6 - -typedef struct Stack { +typedef struct Stack +{ double x; struct Stack *next; } Stack; -Stack get(Stack *l, int n); +void linked_print(Stack *l); Stack *add_head(Stack *l, double x); -void stack_print(Stack *l); -int len(Stack *l); Stack *del_head(Stack *l); +int len(Stack *l); +Stack get(Stack *l, int n); \ No newline at end of file diff --git a/Homework/SC/main.c b/Homework/SC/main.c index f4b0b9f..897ed20 100644 --- a/Homework/SC/main.c +++ b/Homework/SC/main.c @@ -1,32 +1,40 @@ #include "head.h" #include #include -#include #include - -int main(int argc, char *argv[]) { +// Выдает неадекватные значения +int main(int argc, char *argv[]) +{ srand(time(0)); Stack *numbers = malloc(sizeof(Stack)); if (numbers == NULL) exit(1); char c; - char flag = 'f'; + char flag = 'n'; - while ((c = getchar()) != EOF) { - if (c == '\n') { + while ((c = getchar()) != EOF) + { + if (c == '\n') + { break; - } else if (c == ' ') { - flag = 't'; + } + else if (c == ' ') + { + flag = 's'; continue; } - switch (c) { + switch (c) + { case '0' ... '9': - if (flag == 't') { + if (flag == 's') + { numbers = add_head(numbers, (double)(c - '0')); - flag = 'f'; - } else { + flag = 'n'; + } + else + { double a = get(numbers, 0).x; numbers = del_head(numbers); a = a * 10 + c - '0'; @@ -38,7 +46,8 @@ int main(int argc, char *argv[]) { case '-': case '*': case '/': - if (len(numbers) < 2) { + if (len(numbers) < 2) + { printf("Invalid expression\n"); exit(2); } @@ -58,7 +67,7 @@ int main(int argc, char *argv[]) { } } - printf("result: %lF\n", get(numbers, -1).x); + printf("res: %lF\n", get(numbers, 0).x); free(numbers); return 0; diff --git a/Homework/Trees/app b/Homework/Trees/app new file mode 100755 index 0000000000000000000000000000000000000000..9bb9420a73572860f2d3dbfbf2a024ec22cb7314 GIT binary patch literal 16448 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 literal 0 HcmV?d00001 diff --git a/Homework/Trees/func.c b/Homework/Trees/func.c index 3bb7afa..a16b95b 100644 --- a/Homework/Trees/func.c +++ b/Homework/Trees/func.c @@ -2,12 +2,12 @@ #include #include "head.h" -tree *init_root(tree *root, int field) // Выделение памяти под корень дереваnode +tree *init_root(tree *root, int field) // Выделение памяти под корень дерева { tree *tmp = malloc(sizeof(tree)); // Присваивание значения ключу - tmp -> field = field;// Присваивание указателю на родителя значения NULL - tmp -> parent = NULL; // Присваивание указателю на левое и правое поддерево значения NULL - tmp -> left = tmp -> right = NULL; + tmp->field = field; // Присваивание указателю на родителя значения NULL + tmp->parent = NULL; // Присваивание указателю на левое и правое поддерево значения NULL + tmp->left = tmp->right = NULL; root = tmp; return root; } @@ -15,39 +15,42 @@ tree *init_root(tree *root, int field) // Выделение памяти под tree *add_node(tree *root, int field) { tree *root2 = root, *root3 = NULL; // Выделение памяти под узел дерева - tree *tmp = malloc(sizeof(tree)); // Присваивание значения ключу - tmp -> field = field; + tree *tmp = malloc(sizeof(tree)); // Присваивание значения ключу + tmp->field = field; while (root2 != NULL) { root3 = root2; - if (field < root2 -> field) - root2 = root2 -> left; + if (field < root2->field) + root2 = root2->left; else - root2 = root2 -> right; + root2 = root2->right; } - tmp -> parent = root3; // Присваивание указателю на левое и правое поддерево значения NULL - tmp -> left = NULL; - tmp -> right = NULL; - if (field < root3 -> field) root3 -> left = tmp; - else root3 -> right = tmp; + tmp->parent = root3; // Присваивание указателю на левое и правое поддерево значения NULL + tmp->left = NULL; + tmp->right = NULL; + if (field < root3->field) + root3->left = tmp; + else + root3->right = tmp; return root; } -tree *find_node(tree * root, int field) // Если дерево пусто или ключ корня равен искомому ключу, то возвращается указатель на корень +tree *find_node(tree *root, int field) // Если дерево пусто или ключ корня равен искомому ключу, то возвращается указатель на корень { - if ((root == NULL) || (root -> field == field)) + if ((root == NULL) || (root->field == field)) return root; // Поиск нужного узла - if (field < root -> field) - return find_node(root -> left, field); - else return find_node(root -> right, field); + if (field < root->field) + return find_node(root->left, field); + else + return find_node(root->right, field); } // Минимальный элемент дерева tree *minim(tree *root) { tree *lef = root; - while (lef -> left != NULL) - lef = lef -> left; + while (lef->left != NULL) + lef = lef->left; return lef; } @@ -55,73 +58,100 @@ tree *minim(tree *root) tree *maxim(tree *root) { tree *rig = root; - while (rig -> right != NULL) - rig = rig -> right; + while (rig->right != NULL) + rig = rig->right; return rig; } tree *findForDel(tree *root) { tree *rig = root, *lef = NULL; // Если есть правое поддерево, то ищем минимальный элемент в этом поддереве - if (rig -> right != NULL) - return minim(rig -> right); - lef = rig -> parent; - while ((lef != NULL) && (rig == lef -> right)) + if (rig->right != NULL) + return minim(rig->right); + lef = rig->parent; + while ((lef != NULL) && (rig == lef->right)) { rig = lef; - lef = lef -> parent; + lef = lef->parent; } return lef; } tree *del_node(tree *root, int field) { -// Поиск удаляемого узла по ключу + // Поиск удаляемого узла по ключу tree *rig = root, *lef = NULL, *tmp = NULL; lef = find_node(root, field); -// 1 случай: у узла нет потомков - if ((lef -> left == NULL) && (lef -> right == NULL)) + // 1 случай: у узла нет потомков + if ((lef->left == NULL) && (lef->right == NULL)) { - tmp = lef -> parent; - if (lef == tmp -> right) tmp -> right = NULL; - else tmp -> left = NULL; + tmp = lef->parent; + if (lef == tmp->right) + tmp->right = NULL; + else + tmp->left = NULL; free(lef); } -// 2 случай: потомок один - поддерево справа - if ((lef -> left == NULL) && (lef -> right != NULL)) + // 2 случай: потомок один - поддерево справа + if ((lef->left == NULL) && (lef->right != NULL)) { - tmp = lef -> parent; - if (lef == tmp -> right) tmp -> right = lef -> right; - else tmp -> left = lef -> right; + tmp = lef->parent; + if (lef == tmp->right) + tmp->right = lef->right; + else + tmp->left = lef->right; free(lef); } -// 2 случай: потомок один - поддерево слева - if ((lef -> left != NULL) && (lef -> right == NULL)) + // 2 случай: потомок один - поддерево слева + if ((lef->left != NULL) && (lef->right == NULL)) { - tmp = lef -> parent; - if (lef == tmp -> right) tmp -> right = lef -> left; - else tmp -> left = lef -> left; + tmp = lef->parent; + if (lef == tmp->right) + tmp->right = lef->left; + else + tmp->left = lef->left; free(lef); } -// 3 случай: оба потомка - if ((lef -> left != NULL) && (lef -> right != NULL)) + // 3 случай: оба потомка + if ((lef->left != NULL) && (lef->right != NULL)) { tmp = findForDel(lef); - lef -> field = tmp -> field; - if (tmp -> right == NULL) - tmp -> parent -> left = NULL; - else tmp -> parent -> left = tmp -> right; + lef->field = tmp->field; + if (tmp->right == NULL) + tmp->parent->left = NULL; + else + tmp->parent->left = tmp->right; free(tmp); } return root; } -void print_tree(tree *root) +void preorder(tree *root) { if (root == NULL) return; if (root -> field) printf("%d ", root -> field); - print_tree(root -> left); - print_tree(root -> right); + preorder(root -> left); + preorder(root -> right); +} + +void postorder(tree *root) +{ + if (root == NULL) + return; + postorder(root -> left); + postorder(root -> right); + if (root -> field) + printf("%d ", root -> field); +} + +void inorder(tree *root) +{ + if (root == NULL) + return; + inorder(root -> left); + if (root -> field) + printf("%d ", root -> field); + inorder(root -> right); } \ No newline at end of file diff --git a/Homework/Trees/head.h b/Homework/Trees/head.h index 53eff76..9b01e05 100644 --- a/Homework/Trees/head.h +++ b/Homework/Trees/head.h @@ -1,4 +1,5 @@ -typedef struct tnode { +typedef struct tnode +{ int field; struct tnode *left; struct tnode *right; @@ -7,9 +8,11 @@ typedef struct tnode { tree *init_root(tree *root, int field); tree *add_node(tree *root, int field); -tree *find_node(tree * root, int field); +tree *find_node(tree *root, int field); tree *minim(tree *root); tree *maxim(tree *root); tree *findForDel(tree *root); tree *del_node(tree *root, int field); -void print_tree(tree *root); \ No newline at end of file +void preorder(tree *root); +void inorder(tree *root); +void postorder(tree *root); \ No newline at end of file diff --git a/Homework/Trees/main.c b/Homework/Trees/main.c index 0ad2ef0..5a04383 100644 --- a/Homework/Trees/main.c +++ b/Homework/Trees/main.c @@ -1,25 +1,31 @@ -#include -#include #include "head.h" - -int main(int argc, char *argv[]){ - tree *root=NULL; - root = init_root(root, 65); - print_tree(root); +#include +#include +#include +// Дерево улетает в SF +int main(int argc, char *argv[]) +{ + tree *root = NULL; + root = init_root(root, 'A'); + preorder(root); printf("\n"); - root=del_node(root, 65); - print_tree(root); + root = del_node(root, 'A'); + preorder(root); printf("\n"); - root = add_node(root, 70); - root = add_node(root, 66); - root = add_node(root, 68); - root = add_node(root, 71); - root = add_node(root, 67); - root = add_node(root, 72); - print_tree(root); + root = add_node(root, 'F'); + root = add_node(root, 'B'); + root = add_node(root, 'D'); + root = add_node(root, 'G'); + root = add_node(root, 'C'); + root = add_node(root, 'H'); + preorder(root); printf("\n"); - root = del_node(root, 66); - print_tree(root); + postorder(root); + printf("\n"); + inorder(root); + printf("\n"); + root = del_node(root, 'B'); + preorder(root); printf("\n"); return 0; } \ No newline at end of file diff --git a/Homework/Trees/output/main b/Homework/Trees/output/main deleted file mode 100755 index 083d9ab9bd5b7cb8c32e68c6d89de5809485b32f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43584 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 NepP;^sz6oL`ak1tQQQCk diff --git a/Homework/arr_xor/head.h b/Homework/arr_xor/head.h deleted file mode 100644 index fdd9b33..0000000 --- a/Homework/arr_xor/head.h +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include -#include -#include - -#define N 3 -#define LEN 3 - -typedef struct Node { - struct Node* next; - struct Node* prev; - char name[LEN]; -} Node; - -void node_print(Node* n); -Node get(Node* node, int n); -Node* xor_find(Node* n1, Node* n2); -Node* add_tail(Node* n, char s[]); \ No newline at end of file