piscine-c07/ex02/ft_ultimate_range.c

71 lines
1.7 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_ultimate_range.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tosuman </var/spool/mail/tosuman> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/30 20:55:05 by tosuman #+# #+# */
/* Updated: 2023/04/03 19:36:46 by tischmid ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
#include <stdio.h>
int ft_ultimate_range(int **range, int min, int max)
{
int idx;
if (min >= max)
{
*range = NULL;
return (0);
}
*range = malloc(sizeof(int) * (max - min));
if (*range == NULL)
return (-1);
idx = -1;
while (++idx < max - min)
range[0][idx] = idx + min;
return (max - min);
}
/* ////
#include <stdio.h>
int main(void)
{
int idx;
int min;
int max;
int *arr;
int size;
min = -1;
while (++min < 5)
{
max = -1;
while (++max < 6)
{
size = ft_ultimate_range(&arr, min, max);
printf("Range (size: %d) from min:%d to max:%d, ptr: %p: <",
size, min, max, arr);
idx = -1;
while (++idx < max - min)
{
if (idx < max - min - 1)
printf("%d, ", arr[idx]);
else
printf("%d", arr[idx]);
}
printf(">\n");
if (arr != NULL)
free(arr);
}
printf("\n");
}
return (0);
}
*/ ////