diff --git a/C_07/git_old/ex02/ft_ultimate_range.c b/C_07/git_old/ex02/ft_ultimate_range.c index 0ecabb9..489e0b5 100644 --- a/C_07/git_old/ex02/ft_ultimate_range.c +++ b/C_07/git_old/ex02/ft_ultimate_range.c @@ -6,7 +6,7 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/18 18:13:35 by gbaconni #+# #+# */ -/* Updated: 2021/08/20 10:49:32 by gbaconni ### ########.fr */ +/* Updated: 2021/08/20 14:03:59 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -56,6 +56,8 @@ int ft_ultimate_range(int **range, int min, int max) else size = ft_abs(max - min); r = ft_range(min, max); + if (r == NULL) + return (-1); *range = r; return (size); } diff --git a/C_07/git_old/ex03/ft_strjoin.c b/C_07/git_old/ex03/ft_strjoin.c index 11efb73..a1d8297 100644 --- a/C_07/git_old/ex03/ft_strjoin.c +++ b/C_07/git_old/ex03/ft_strjoin.c @@ -6,7 +6,7 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/19 11:25:51 by gbaconni #+# #+# */ -/* Updated: 2021/08/20 11:41:49 by gbaconni ### ########.fr */ +/* Updated: 2021/08/20 14:02:25 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/C_07/git_old2/ex00/ft_strdup.c b/C_07/git_old2/ex00/ft_strdup.c new file mode 100644 index 0000000..1bc2b09 --- /dev/null +++ b/C_07/git_old2/ex00/ft_strdup.c @@ -0,0 +1,36 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strdup.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 09:03:26 by gbaconni #+# #+# */ +/* Updated: 2021/08/20 11:29:47 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +char *ft_strdup(char *src) +{ + char *str; + char *_str; + char *_src; + int size; + + size = 0; + while (src[size] != '\0') + size++; + str = (char *) malloc((size + 1) * sizeof(char)); + if (str == NULL) + return (NULL); + _str = str; + _src = src; + while (*src != '\0') + *str++ = *src++; + *str = '\0'; + str = _str; + src = _src; + return (str); +} diff --git a/C_07/git_old2/ex00/main.c b/C_07/git_old2/ex00/main.c new file mode 100644 index 0000000..9edc3e9 --- /dev/null +++ b/C_07/git_old2/ex00/main.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 09:02:59 by gbaconni #+# #+# */ +/* Updated: 2021/08/18 18:07:36 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +char *ft_strdup(char *src); + +int main(void) +{ + char *src; + char *result; + + src = (char *) malloc(32 * sizeof(char)); + printf("Input String [max 31]: "); + scanf("%s", src); + result = ft_strdup(src); + printf("src=%s result=%s (ft_strdup)\n", src, result); + result = strdup(src); + printf("src=%s result=%s (strdup)\n", src, result); + free(src); + return (0); +} diff --git a/C_07/git_old2/ex00/main.sh b/C_07/git_old2/ex00/main.sh new file mode 100755 index 0000000..292faee --- /dev/null +++ b/C_07/git_old2/ex00/main.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +#norminette -R CheckForbiddenSourceHeader ft_*.c +norminette -R CheckForbiddenSourceHeader +gcc -Wall -Wextra -Werror -o a.out *.c +echo $(basename $PWD): +./a.out +rm -f a.out diff --git a/C_07/git_old2/ex01/ft_range.c b/C_07/git_old2/ex01/ft_range.c new file mode 100644 index 0000000..114b29a --- /dev/null +++ b/C_07/git_old2/ex01/ft_range.c @@ -0,0 +1,41 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_range.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/18 18:13:35 by gbaconni #+# #+# */ +/* Updated: 2021/08/20 10:49:02 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +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); +} diff --git a/C_07/git_old2/ex01/main.c b/C_07/git_old2/ex01/main.c new file mode 100644 index 0000000..3e9f989 --- /dev/null +++ b/C_07/git_old2/ex01/main.c @@ -0,0 +1,52 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/18 18:11:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/19 16:11:21 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +int *ft_range(int min, int max); + +static int ft_abs(int n) +{ + if (n < 0) + n = -n; + return (n); +} + +int main(void) +{ + int i; + int min; + int max; + int size; + int *result; + + min = 0; + max = 0; + printf("Input Min: "); + scanf("%d", &min); + printf("Input Max: "); + scanf("%d", &max); + result = ft_range(min, max); + printf("min=%d max=%d (ft_range)\nresult:\n", min, max); + size = ft_abs(max - min); + printf("size=%d\n", size); + i = 0; + while (i < size) + { + printf("result[%d] = %d\n", i, result[i]); + i++; + } + return (0); +} diff --git a/C_07/git_old2/ex01/main.sh b/C_07/git_old2/ex01/main.sh new file mode 100755 index 0000000..292faee --- /dev/null +++ b/C_07/git_old2/ex01/main.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +#norminette -R CheckForbiddenSourceHeader ft_*.c +norminette -R CheckForbiddenSourceHeader +gcc -Wall -Wextra -Werror -o a.out *.c +echo $(basename $PWD): +./a.out +rm -f a.out diff --git a/C_07/git_old2/ex02/ft_ultimate_range.c b/C_07/git_old2/ex02/ft_ultimate_range.c new file mode 100644 index 0000000..0ecabb9 --- /dev/null +++ b/C_07/git_old2/ex02/ft_ultimate_range.c @@ -0,0 +1,61 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_ultimate_range.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/18 18:13:35 by gbaconni #+# #+# */ +/* Updated: 2021/08/20 10:49:32 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +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); + *range = r; + return (size); +} diff --git a/C_07/git_old2/ex02/main.c b/C_07/git_old2/ex02/main.c new file mode 100644 index 0000000..582dc59 --- /dev/null +++ b/C_07/git_old2/ex02/main.c @@ -0,0 +1,44 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/18 18:11:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/18 18:31:33 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +int ft_ultimate_range(int **range, int min, int max); + +int main(void) +{ + int i; + int min; + int max; + int size; + int *range; + + min = 0; + max = 0; + size = 0; + printf("Input Min: "); + scanf("%d", &min); + printf("Input Max: "); + scanf("%d", &max); + size = ft_ultimate_range(&range, min, max); + printf("size=%d min=%d max=%d (ft_ultimate_range)\nrange:\n", size, min, max); + i = 0; + while (i < size) + { + printf("range[%d] = %d\n", i, range[i]); + i++; + } + return (0); +} diff --git a/C_07/git_old2/ex02/main.sh b/C_07/git_old2/ex02/main.sh new file mode 100755 index 0000000..292faee --- /dev/null +++ b/C_07/git_old2/ex02/main.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +#norminette -R CheckForbiddenSourceHeader ft_*.c +norminette -R CheckForbiddenSourceHeader +gcc -Wall -Wextra -Werror -o a.out *.c +echo $(basename $PWD): +./a.out +rm -f a.out diff --git a/C_07/git_old2/ex03/ft_strjoin.c b/C_07/git_old2/ex03/ft_strjoin.c new file mode 100644 index 0000000..11efb73 --- /dev/null +++ b/C_07/git_old2/ex03/ft_strjoin.c @@ -0,0 +1,85 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strjoin.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/19 11:25:51 by gbaconni #+# #+# */ +/* Updated: 2021/08/20 11:41:49 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include + +static int ft_strlen(char *str) +{ + int len; + + len = 0; + while (str[len] != '\0') + len++; + return (len); +} + +char *ft_strcat(char *dest, char *src) +{ + char *s1; + char *s2; + + s1 = dest; + s2 = src; + while (*s1 != '\0') + s1++; + while (*s2 != '\0') + *s1++ = *s2++; + *s1 = '\0'; + return (dest); +} + +int ft_strslen(int size, char **strs, char *sep) +{ + int len; + int i; + + len = 1; + i = 0; + while (i < size) + { + len += ft_strlen(strs[i]); + if (i < size - 1) + len += ft_strlen(sep); + i++; + } + return (len); +} + +char *ft_strjoin(int size, char **strs, char *sep) +{ + char *str; + int len; + int i; + + if (size == 0) + { + str = (char *) malloc(sizeof(char)); + *str = '\0'; + return (str); + } + len = ft_strslen(size, strs, sep); + str = (char *) malloc(len * sizeof(char)); + if (str == NULL) + return (NULL); + *str = '\0'; + i = 0; + while (i < size) + { + ft_strcat(str, strs[i]); + if (i < size - 1) + ft_strcat(str, sep); + i++; + } + return (str); +} diff --git a/C_07/git_old2/ex03/main.c b/C_07/git_old2/ex03/main.c new file mode 100644 index 0000000..dd29822 --- /dev/null +++ b/C_07/git_old2/ex03/main.c @@ -0,0 +1,42 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/20 09:34:53 by gbaconni #+# #+# */ +/* Updated: 2021/08/20 09:36:09 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +char *ft_strjoin(int size, char **strs, char *sep); + +int main(void) +{ + int i; + char *sep; + char **strs; + char *result; + + sep = ""; + strs = malloc(3 * sizeof(*strs)); + sep = (char *) malloc(32 * sizeof(char)); + i = 0; + while (i < 3) + { + strs[i] = (char *) malloc(32 * sizeof(char)); + printf("Input String #%d [Max 31]: ", i + 1); + scanf("%s", strs[i++]); + } + printf("Input Separator: "); + scanf("%s", sep); + result = ft_strjoin(i, strs, sep); + printf("size=%d sep=%s result=%s (ft_strjoin)\n", i, sep, result); + return (0); +} diff --git a/C_07/git_old2/ex03/main.sh b/C_07/git_old2/ex03/main.sh new file mode 100755 index 0000000..5481183 --- /dev/null +++ b/C_07/git_old2/ex03/main.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -e +rm -f a.out +#norminette -R CheckForbiddenSourceHeader +norminette -R CheckForbiddenSourceHeader ft_*.c +gcc -Wall -Wextra -Werror -o a.out ft_*.c main.c +echo $(basename $PWD): +./a.out +rm -f a.out