diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-07-24 18:57:19 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-07-24 18:57:19 +0200 |
| commit | 475449dd4b1f3308bac6f72c34d87812216a0738 (patch) | |
| tree | 319a76f0e87b041818156f2d1dfbbc6a7dfacf06 /exam02/rendu/ft_rrange | |
| parent | 83edb77d74bb339f3e1324a51039c78ac503db90 (diff) | |
| download | piscine-475449dd4b1f3308bac6f72c34d87812216a0738.tar.gz piscine-475449dd4b1f3308bac6f72c34d87812216a0738.tar.bz2 piscine-475449dd4b1f3308bac6f72c34d87812216a0738.zip | |
exam02
Diffstat (limited to 'exam02/rendu/ft_rrange')
| -rwxr-xr-x | exam02/rendu/ft_rrange/ft_rrange.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/exam02/rendu/ft_rrange/ft_rrange.c b/exam02/rendu/ft_rrange/ft_rrange.c new file mode 100755 index 0000000..d97081a --- /dev/null +++ b/exam02/rendu/ft_rrange/ft_rrange.c @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_rrange.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: exam <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/19 18:05:29 by exam #+# #+# */ +/* Updated: 2019/07/19 19:59:56 by exam ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include <stdlib.h> + +long unsigned int get_size(int start, int end) +{ + long unsigned int size; + + if (start < end) + size = (long int)end - (long int)start; + else if (start > end) + size = (long int)start - (long int)end; + else + size = 0; + return (size); +} + +int *ft_rrange(int start, int end) +{ + int *rrange; + long unsigned int i; + + if ((rrange = (int*)malloc(sizeof(int) * (get_size(start, end) + 1))) == NULL) + return (NULL); + rrange[0] = end; + if (start == end) + return (rrange); + i = 0; + while (end != start) + { + rrange[i] = end; + end += (end < start ? 1 : -1); + i++; + } + rrange[i] = start; + return (rrange); +} |
