0
0
Files
42piscine/C_07/git/ex02/ft_ultimate_range.c
Guy Baconniere c6a7e9447c sync
2021-08-20 14:53:13 +02:00

64 lines
1.5 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_ultimate_range.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gbaconni <gbaconni@42lausanne.ch> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2021/08/18 18:13:35 by gbaconni #+# #+# */
/* Updated: 2021/08/20 14:03:59 by gbaconni ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
static int ft_abs(int n)
{
if (n < 0)
n = -n;
return (n);
}
int *ft_range(int min, int max)
{
int *range;
int size;
int i;
range = NULL;
if (min >= max)
return (range);
else
size = ft_abs(max - min);
range = (int *) malloc(size * sizeof(int));
i = 0;
while (i < size)
{
range[i] = min + i;
i++;
}
return (range);
}
int ft_ultimate_range(int **range, int min, int max)
{
int *r;
int size;
(void) range;
r = NULL;
size = 0;
if (min >= max)
{
*range = r;
return (size);
}
else
size = ft_abs(max - min);
r = ft_range(min, max);
if (r == NULL)
return (-1);
*range = r;
return (size);
}