diff --git a/.gitignore b/.gitignore index 845cda6..108080e 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,5 @@ dkms.conf # debug information files *.dwo + +*build/ \ No newline at end of file diff --git a/src/test/TestTask2.c b/src/test/TestTask2.c new file mode 100644 index 0000000..9cafeb1 --- /dev/null +++ b/src/test/TestTask2.c @@ -0,0 +1,42 @@ +#include +#include +#include "task2.h" + +bool TestEqual() +{ + bool A[] = {0,1,1,0}; + bool B[] = {0,1,1,0}; + return CompareBin(A, B, 4) == 0; +} + +bool TestCompareBin() +{ + bool A[] = {0,1,0,1}; + bool B[] = {0,1,1,0}; + return CompareBin(A, B, 4) == -1; +} + +bool TestOneBitbit() +{ + bool A[] = {1}; + bool B[] = {0}; + return CompareBin(A, B, 1) == 1; +} + +bool TestAllZero() +{ + bool A[] = {0,0,0,0}; + bool B[] = {0,0,0,0}; + return CompareBin(A, B, 4) == 0; +} + + +int main() +{ + printf("TestEqual: %s\n", TestEqual() ? "PASS" : "FAIL"); + printf("TestCompareBin: %s\n", TestCompareBin() ? "PASS" : "FAIL"); + printf("TestOneBitbit: %s\n", TestOneBitbit() ? "PASS" : "FAIL"); + printf("TestAllZero: %s\n", TestAllZero() ? "PASS" : "FAIL"); + + return 0; +} \ No newline at end of file diff --git a/src/test/task1.c b/src/test/task1.c new file mode 100644 index 0000000..6520d87 --- /dev/null +++ b/src/test/task1.c @@ -0,0 +1,59 @@ +#include +#include + +typedef struct Node { + int value; + struct Node* next; +} Node; + + +Node* CreateNode(int value, Node* next) { + Node* n = (Node*)malloc(sizeof(Node)); + n->value = value; + n->next = next; + return n; +} + +Node* reverse(Node* head) { + Node* prev = NULL; + Node* curr = head; + while (curr) { + Node* next = curr->next; + curr->next = prev; + prev = curr; + curr = next; + } + return prev; +} + +void FreeList(Node* head) { + while (head) { + Node* tmp = head; + head = head->next; + free(tmp); + } +} + +typedef struct Queue { + Node* f; + Node* r; +} Queue; + +Queue* createQueue() { + Queue* q = (Queue*)malloc(sizeof(Queue)); + q->f = NULL; + q->r = NULL; + return q; +} + +void enqueue(Queue* q, int value) { + q->f = CreateNode(value, q->f); + +} + + +void dequeue(){ + +} + + diff --git a/src/test/task2.c b/src/test/task2.c new file mode 100644 index 0000000..73edb2e --- /dev/null +++ b/src/test/task2.c @@ -0,0 +1,40 @@ +#include +#include +#include "task2.h" + + +int CompareBin(bool A[], bool B[], int n) +{ + for (int i = 0; i < n; i++) { + if (A[i] > B[i]) + return 1; + if (A[i] < B[i]) + return -1; + } + return 0; +} + +int main() +{ + int n; + scanf("%d", &n); + + bool A[n], B[n]; + + for (int i = 0; i < n; i++) + scanf("%d", (int*)&A[i]); + + for (int i = 0; i < n; i++) + scanf("%d", (int*)&B[i]); + + int r = CompareBin(A, B, n); + + if (r > 0) + printf("A > B\n"); + else if + (r < 0) printf("A < B\n"); + else + printf("A = B\n"); + + return 0; +} diff --git a/src/test/task2.h b/src/test/task2.h new file mode 100644 index 0000000..210325f --- /dev/null +++ b/src/test/task2.h @@ -0,0 +1,4 @@ +#pragma once +#include + +int CompareBin(bool A[], bool B[], int n); \ No newline at end of file