From 92d52243adb89c6ed1f2af005aba081f508857ef Mon Sep 17 00:00:00 2001 From: Darius <darius.gomesdes@hes-so.ch> Date: Thu, 23 Jan 2025 17:54:54 +0100 Subject: [PATCH] ajoute fonction pushTree --- src/morse.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/morse.c b/src/morse.c index 9786721..efd6bef 100644 --- a/src/morse.c +++ b/src/morse.c @@ -40,7 +40,32 @@ struct node_t * createTree(char * path){ return NULL; } -struct node_t * pushTree(struct node_t * tree, char letter, char * code){} +struct node_t * pushTree(struct node_t * tree, char letter, char * code){ + if (code != NULL) { + if (code[0] != '\0') { + if (code[0] == '.') { + if (tree->left == NULL) { + tree->left = createNode('?'); + } + return pushTree(tree->left, letter, code + 1); + } + else if (code[0] == '-') { + if (tree->right == NULL) { + tree->right = createNode('?'); + } + return pushTree(tree->right, letter, code + 1); + } else { + printf("Erreur de format !!\n"); + return NULL; + } + } else { + tree->letter = letter; + return tree; + } + } else { + return NULL; + } +} void printTree(struct node_t * tree, int depth){} -- GitLab