From 7311aaed9eb4ed92bb9e10ae5d9832adf03a7b96 Mon Sep 17 00:00:00 2001 From: TigrGrig01 Date: Sun, 1 Dec 2024 19:37:07 +0400 Subject: [PATCH] Commit --- Lab20.cpp | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 Lab20.cpp diff --git a/Lab20.cpp b/Lab20.cpp new file mode 100644 index 0000000..2e50b0a --- /dev/null +++ b/Lab20.cpp @@ -0,0 +1,143 @@ +#define _CRT_SECURE_NO_WARNINGS +#include +#include + +struct Node +{ + int data; + struct Node* next; +}; +struct Node* first = NULL; + +void printList() { + struct Node* ptr = first; + while (ptr != NULL) { + printf("(%d) -> ", ptr->data); + ptr = ptr->next; + } + printf("NULL\n"); +} + +void addToHead(int value) { + struct Node* newNode = (struct Node*)malloc(sizeof(struct Node)); + + newNode->next = first; + newNode->data = value; + + first = newNode; +} + +int deleteFromHead() { + int value = first->data; + struct Node* delNode = first; + first = first->next; + free(delNode); + return value; +} + +int contains(int value) { + struct Node* ptr = first; + while (ptr != NULL) { + if (ptr->data == value) { + return 1; + } + ptr = ptr->next; + } + return 0; +} + +void clearList() { + while (first != NULL) + { + struct Node* delNode = first; + first = first->next; + free(delNode); + } +} + +int sum() { + struct Node* ptr = first; + int s = 0; + while (ptr != NULL) { + s += ptr->data; + ptr = ptr->next; + } + return s; +} +int evenCount() { + struct Node* ptr = first; + int m = 0; + while (ptr != NULL) { + if (ptr->data % 2 == 0) { + m++; + } + ptr = ptr->next; + } + return m; +} +int oddsX10() { + struct Node* ptr = first; + int k = 0; + while (ptr != NULL) { + if (ptr->data % 2 != 0) { + ptr->data *= 10; + } + ptr = ptr->next; + } + return k; +} +void ix100(int i) { + struct Node* ptr = first; + int index = 0; + while (ptr != NULL) { + if (index == 1) { + ptr->data *= 100; + return; + } + ptr = ptr->next; + index++; + + } +} +void leviiX10(int i) { + Node* ptr = first; + int index = 0; + while (ptr != NULL) { + if (index < i) { + ptr->data = ptr->data * 10; + } + if (index == i) { + return; + } + index += 1; + ptr = ptr->next; + } +} +void main(){ + + printList(); + + addToHead(1); + addToHead(3); + addToHead(6); + addToHead(8); + printList(); + + ix100(2); + printList(); + + ix100(2); + printList(); + + ix100(1); + printList(); + + + clearList(); + printList(); + { + int x; + scanf("%d", &x); + } + +} \ No newline at end of file