AfanasevGad7

This is a task for our favourite professor
git clone git://git.stellar-nexus.ru/AfanasevGad7
Log | Files | Refs | README

commit 4b3fc893dc4d7b88cadf9fa16d196c37de6ba08d
parent 0d970c5c1305d0c5c3f194a0195e07b1479038ec
Author: Plat <plat@stellar-nexus.ru>
Date:   Thu,  6 Nov 2025 20:17:58 +0000

Various fixes to Red-Black

Diffstat:
Aconfig.h | 1+
Mrb.c | 11+++++++----
Mutil.h | 5+++++
3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/config.h b/config.h @@ -0,0 +1 @@ +#define FILENAME "sample_data.txt" diff --git a/rb.c b/rb.c @@ -5,6 +5,8 @@ #include "tree.h" +#include "config.h" + inline Node * init(int val) { @@ -97,10 +99,11 @@ main(int argc, char *argv[]) argv0 = argv[0]; if (argc > 2) usage(); + const char *filename; if (argc == 2) - char filename[] = argv[2]; + filename = argv[1]; else - char filename[] = FILENAME; + filename = FILENAME; if (!(FILE *file = fopen(filename, "r"))) eprintf("fopen %s:", filename); @@ -112,7 +115,7 @@ main(int argc, char *argv[]) w[wi++] = ch; } else { w[wi] = '\0'; - arr[i++] = estrtonum(n, 0, INT_MAX); + arr[i++] = estrtonum(w, 0, INT_MAX); wi = 0; } } @@ -132,5 +135,5 @@ main(int argc, char *argv[]) for (int i = 0; i <= INT_MAX; ++i) search(root, i); end_time = clock(); - printf("%f\n", (start_time-end_time)/CLOCKS_PER_SEC); + printf("%ld\n", (start_time-end_time)/CLOCKS_PER_SEC); } diff --git a/util.h b/util.h @@ -16,6 +16,11 @@ void *emalloc(size_t size); void *erealloc(void *, size_t); char *estrdup(const char *); +/* fshut.c */ +void enfshut(int, FILE *, const char *); +void efshut(FILE *, const char *); +int fshut(FILE *, const char *); + /* eprintf.c */ void enprintf(int, const char *, ...); void eprintf(const char *, ...);