From a83e11a5176d69dc80bc82bfbcbe18086b5ad6d0 Mon Sep 17 00:00:00 2001 From: VIliam Date: Thu, 24 Oct 2024 18:53:07 +0200 Subject: [PATCH] 4 --- cv1/program.c | 4 ++-- cv4/Makefile | 13 +++++++++++++ cv4/a_train.c | 19 +++++++++++++++++++ cv4/a_train.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ cv4/main.c | 17 +++++++++++++++++ 5 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 cv4/Makefile create mode 100644 cv4/a_train.c create mode 100644 cv4/a_train.h create mode 100644 cv4/main.c diff --git a/cv1/program.c b/cv1/program.c index 2e9beb6..c0676ef 100644 --- a/cv1/program.c +++ b/cv1/program.c @@ -39,7 +39,7 @@ char hacker_script(char c) { } } - +// transformuje vstupný retazec a normalizuje ho pomocou funkcie hacker script uloži sa do reťazca dest void normalize_string(char* dest, const char* src) { int j = 0; for(int i = 0; src[i] != '\0' && j < LINESIZE - 1; i++) { @@ -48,7 +48,7 @@ void normalize_string(char* dest, const char* src) { dest[j] = '\0'; } - +// jednoduchý algoritmus na vyhľadanie podreťazca int search_string(const char* heap, const char* needle) { int heap_len = strlen(heap); int needle_len = strlen(needle); diff --git a/cv4/Makefile b/cv4/Makefile new file mode 100644 index 0000000..3c2c463 --- /dev/null +++ b/cv4/Makefile @@ -0,0 +1,13 @@ +CFLAGS= -std=c99 -g -Wall + +all: train + +%.o: %.c + gcc -c -o $@ $< $(CFLAGS) + +train: main.o a_train.o + gcc main.o a_train.o -o train + +clean: + rm *.o train + diff --git a/cv4/a_train.c b/cv4/a_train.c new file mode 100644 index 0000000..f530fbc --- /dev/null +++ b/cv4/a_train.c @@ -0,0 +1,19 @@ +#include "a_train.h" +#include + +struct car* add_car(struct car* first,const char* target) { + return NULL; +} + +void print_train(struct car* first) { +} + +void cancel_train(struct car* first) { + +} + + +struct car* clear_train(struct car* first, const char* target) { + return NULL; +} + diff --git a/cv4/a_train.h b/cv4/a_train.h new file mode 100644 index 0000000..5982bfe --- /dev/null +++ b/cv4/a_train.h @@ -0,0 +1,51 @@ +#ifndef TRAIN_H +#define TRAIN_H +#define SIZE 100 + +/** + * Jeden vozen vlaku + */ +struct car { + /** + * Nazov cielovej stanice + */ + char value[SIZE]; + /** + * Smenik na dalsi vozen + */ + struct car* next; +}; + +/** + * Prida vozen na koniec vlaku. + * + * @arg nazov cielovej stanice, ktory sa ma priradit novemu voznu. + * @return smernik na zaciatok vlaku. + */ +struct car* add_car(struct car* first,const char* target); + + +/** + * Vypise vsetky vozne vo vlaku + * + * @arg smernik na prvy vozen + */ +void print_train(struct car* first); + +/** + * Zrusenie vsetkych voznov vo vlaku. + * @arg smernik na prvy vozen + */ +void cancel_train(struct car* first); + +/** + * Vyradenie vsetkych voznov, ktorych cielova stanica je target + * + * @arg smernik na prvy vozen + * @arg cielova stanica, ktora sa ma vyradit z vlaku. + * @return smernik na novy prvy vozen + * + */ +struct car* clear_train(struct car* first,const char* target); + +#endif // TRAIN_H diff --git a/cv4/main.c b/cv4/main.c new file mode 100644 index 0000000..d64f05a --- /dev/null +++ b/cv4/main.c @@ -0,0 +1,17 @@ +#include "a_train.h" +#include + +// Testovaci subor pre vlak +int main(){ + struct car* train = NULL; + train = add_car(train,"Presov"); + train = add_car(train,"Bratislava"); + train = add_car(train,"Levoca"); + train = add_car(train,"Spiska Nova Ves"); + print_train(train); + clear_train(train,"Levoca"); + print_train(train); + cancel_train(train); + + return 0; +}