diff --git a/C_Piscine_C_04/Makefile b/C_Piscine_C_04/Makefile index 38762ac..2880a12 100644 --- a/C_Piscine_C_04/Makefile +++ b/C_Piscine_C_04/Makefile @@ -11,7 +11,7 @@ # clone: - @git clone git@vogsphere.42lausanne.ch:vogsphere/intra-uuid-acc6671c-36d9-4ab3-b584-e5cd3b782dc1-3717988 git + @git clone git@vogsphere.42lausanne.ch:vogsphere/intra-uuid-24a15d7b-ac2b-45e8-b60a-e250f5de58e0-3724034 git cc: @norminette -R CheckForbiddenSourceHeader diff --git a/C_Piscine_C_04/git/ex02/ft_putnbr.c b/C_Piscine_C_04/git/ex02/ft_putnbr.c index 3a0203e..efa131d 100644 --- a/C_Piscine_C_04/git/ex02/ft_putnbr.c +++ b/C_Piscine_C_04/git/ex02/ft_putnbr.c @@ -6,33 +6,35 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/13 09:24:02 by gbaconni #+# #+# */ -/* Updated: 2021/08/13 14:47:24 by gbaconni ### ########.fr */ +/* Updated: 2021/08/16 13:26:12 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ #include +#include void ft_putnbr(int nb) { char c; - if (nb == -2147483648) - write(1, "-2147483648", 11); - else if (nb >= 10) + if (nb < 0) { - ft_putnbr(nb / 10); - ft_putnbr(nb % 10); - } - else if (nb < 0) - { - write(1, "-", 1); nb *= -1; - ft_putnbr(nb / 10); - ft_putnbr(nb % 10); + write(1, "-", 1); } - else if (nb >= 0) + if (nb >= 0 && nb <= 9) { c = nb + '0'; write(1, &c, 1); } + else if (nb == -2147483648) + { + ft_putnbr((nb / 10) * -1); + ft_putnbr((nb % 10) * -1); + } + else + { + ft_putnbr(nb / 10); + ft_putnbr(nb % 10); + } } diff --git a/C_Piscine_C_04/git/tests_C04/ex00.c b/C_Piscine_C_04/git/tests_C04/ex00.c new file mode 100644 index 0000000..d266b6a --- /dev/null +++ b/C_Piscine_C_04/git/tests_C04/ex00.c @@ -0,0 +1,12 @@ +#include +#include "../ex00/ft_strlen.c" + +int main(void) +{ + char *a = "12345678"; + char b[1]; + + b[0] = 0; + printf("Test\nexpected : 8 | result : %d\n", ft_strlen(a)); + printf("Test\nexpected : 0 | result : %d\n", ft_strlen(b)); +} diff --git a/C_Piscine_C_04/git/tests_C04/ex01.c b/C_Piscine_C_04/git/tests_C04/ex01.c new file mode 100644 index 0000000..e57a750 --- /dev/null +++ b/C_Piscine_C_04/git/tests_C04/ex01.c @@ -0,0 +1,15 @@ +#include +#include "../ex01/ft_putstr.c" + +int main(void) +{ + char b[1]; + char *a = "12345678"; + + b[0] = 0; + printf("\nTest\nexpected : %s | result : \n", a); + ft_putstr(a); + printf("\nTest\nexpected : %s | result : \n", b); + ft_putstr(b); + printf("\n"); +} diff --git a/C_Piscine_C_04/git/tests_C04/ex02.c b/C_Piscine_C_04/git/tests_C04/ex02.c new file mode 100644 index 0000000..5e1c1c6 --- /dev/null +++ b/C_Piscine_C_04/git/tests_C04/ex02.c @@ -0,0 +1,15 @@ +#include +#include "../ex02/ft_putnbr.c" + +int main(void) +{ + printf("\nTest\nexpected : 1230234 | result : \n"); + ft_putnbr(1230234); + printf("\nTest\nexpected : 0 | result : \n"); + ft_putnbr(0); + printf("\nTest\nexpected : -253 | result : \n"); + ft_putnbr(-253); + printf("\nTest\nexpected : -2147483648 | result : \n"); + ft_putnbr(-2147483648); + printf("\n"); +} diff --git a/C_Piscine_C_04/git/tests_C04/ex03.c b/C_Piscine_C_04/git/tests_C04/ex03.c new file mode 100644 index 0000000..a4ce300 --- /dev/null +++ b/C_Piscine_C_04/git/tests_C04/ex03.c @@ -0,0 +1,17 @@ +#include +#include "../ex03/ft_atoi.c" + +int main(void) +{ + char a[] = " \n \r \v +---+-+-42"; + char b[] = " \n --+37523093"; + char c[] = " 0"; + char d[] = " \f \t -+2147483648"; + char e[] = " \f\f asd345"; + + printf("Test\nexpected : -42 | result : %d\n", ft_atoi(a)); + printf("Test\nexpected : 37523093 | result : %d\n", ft_atoi(b)); + printf("Test\nexpected : 0 | result : %d\n", ft_atoi(c)); + printf("Test\nexpected : -2147483648 | result : %d\n", ft_atoi(d)); + printf("Test\nexpected : 0 | result : %d\n", ft_atoi(e)); +} diff --git a/C_Piscine_C_04/git/tests_C04/ex04.c b/C_Piscine_C_04/git/tests_C04/ex04.c new file mode 100644 index 0000000..5d53dec --- /dev/null +++ b/C_Piscine_C_04/git/tests_C04/ex04.c @@ -0,0 +1,31 @@ +#include +#include "../ex04/ft_putnbr_base.c" + +int main(void) +{ + char poney[] = "poneyvif"; + char deci[] = "0123456789"; + char hexa[] = "0123456789abcdef"; + char bin[] = "01"; + char strange[] = "102310"; + char strange2[] = "1234+56"; + char strange3[] = ""; + + printf("\nTest\nexpected : 128 | result : \n"); + ft_putnbr_base(128, deci); + printf("\nTest\nexpected : -2b | result : \n"); + ft_putnbr_base(-43, hexa); + printf("\nTest\nexpected : -80000000 | result : \n"); + ft_putnbr_base(-2147483648, hexa); + printf("\nTest\nexpected : 1101 | result : \n"); + ft_putnbr_base(13, bin); + printf("\nTest\nexpected : opoooyyf | result : \n"); + ft_putnbr_base(2134823, poney); + printf("\nTest\nexpected : | result : \n"); + ft_putnbr_base(2134823, strange); + printf("\nTest\nexpected : | result : \n"); + ft_putnbr_base(4325, strange2); + printf("\nTest\nexpected : | result : \n"); + ft_putnbr_base(21348, strange3); + printf("\n"); +} diff --git a/C_Piscine_C_04/git/tests_C04/ex05.c b/C_Piscine_C_04/git/tests_C04/ex05.c new file mode 100644 index 0000000..4001d4e --- /dev/null +++ b/C_Piscine_C_04/git/tests_C04/ex05.c @@ -0,0 +1,43 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ex05.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tkondrac +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/11 14:32:06 by tkondrac #+# #+# */ +/* Updated: 2021/08/11 17:34:21 by tkondrac ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include "../ex05/ft_atoi_base.c" + +int main(void) +{ + char a[] = " \n \r \v +---+-+-42"; + char b[] = " \n --+2b"; + char c[] = " 0"; + char d[] = " \f \t -+2147483648"; + char e[] = " \f\f asd345"; + char f[] = " \f\f poneyvif"; + char g[] = " \f\f -0123456789"; + + char poney[] = "poneyvif"; + char deci[] = "0123456789"; + char hexa[] = "0123456789abcdef"; + char bin[] = "01"; + char strange[] = "1b231b"; +// char strange2[] = "1234+56"; +// char strange3[] = ""; + + printf("Test\nexpected : -42 | result : %d\n", ft_atoi_base(a, deci)); + printf("Test\nexpected : 43 | result : %d\n", ft_atoi_base(b, hexa)); + printf("Test\nexpected : 0 | result : %d\n", ft_atoi_base(c, bin)); + printf("Test\nexpected : -2147483648 | result : %d\n", ft_atoi_base(d, deci)); + printf("Test\nexpected : 0 | result : %d\n", ft_atoi_base(e, deci)); + printf("Test\nexpected : 2 | result : %d\n", ft_atoi_base(b, deci)); + printf("Test\nexpected : 342391 | result : %d\n", ft_atoi_base(f, poney)); + printf("Test\nexpected : -123456789 | result : %d\n", ft_atoi_base(g, deci)); + printf("Test\nexpected : 0 | result : %d\n", ft_atoi_base(a, strange)); +} diff --git a/C_Piscine_C_04/git/tests_C04/main.sh b/C_Piscine_C_04/git/tests_C04/main.sh new file mode 100755 index 0000000..68e66ec --- /dev/null +++ b/C_Piscine_C_04/git/tests_C04/main.sh @@ -0,0 +1,8 @@ +#!/bin/sh +test=$1 +set -e +norminette -R CheckForbiddenSourceHeader ../$test/ft_*.c +gcc -Wall -Wextra -Werror -o a.out $test.c +#gcc -o a.out $test.c +./a.out +rm -f a.out diff --git a/C_Piscine_C_04/git_old/ex00/ft_strlen.c b/C_Piscine_C_04/git_old/ex00/ft_strlen.c new file mode 100644 index 0000000..aa1ad33 --- /dev/null +++ b/C_Piscine_C_04/git_old/ex00/ft_strlen.c @@ -0,0 +1,21 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlen.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 09:03:26 by gbaconni #+# #+# */ +/* Updated: 2021/08/13 09:09:57 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strlen(char *str) +{ + char *p_str; + + p_str = str; + while (*p_str != '\0') + p_str++; + return (p_str - str); +} diff --git a/C_Piscine_C_04/git_old/ex00/main.c b/C_Piscine_C_04/git_old/ex00/main.c new file mode 100644 index 0000000..42b0d1f --- /dev/null +++ b/C_Piscine_C_04/git_old/ex00/main.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 09:02:59 by gbaconni #+# #+# */ +/* Updated: 2021/08/13 09:03:17 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +int ft_strlen(char *str); + +int main(void) +{ + char str[32]; + int result; + + printf("Input String [max 31]: "); + scanf("%s", str); + result = ft_strlen(str); + printf("str=%s result=%d (ft_strlen)\n", str, result); + result = strlen(str); + printf("str=%s result=%d (strlen)\n", str, result); + return (0); +} diff --git a/C_Piscine_C_04/git_old/ex00/main.sh b/C_Piscine_C_04/git_old/ex00/main.sh new file mode 100755 index 0000000..292faee --- /dev/null +++ b/C_Piscine_C_04/git_old/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_Piscine_C_04/git_old/ex01/ft_putstr.c b/C_Piscine_C_04/git_old/ex01/ft_putstr.c new file mode 100644 index 0000000..d62e108 --- /dev/null +++ b/C_Piscine_C_04/git_old/ex01/ft_putstr.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 09:16:54 by gbaconni #+# #+# */ +/* Updated: 2021/08/13 09:21:15 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putstr(char *str) +{ + char *p_str; + + p_str = str; + while (*p_str != '\0') + write(1, p_str++, 1); +} diff --git a/C_Piscine_C_04/git_old/ex01/main.c b/C_Piscine_C_04/git_old/ex01/main.c new file mode 100644 index 0000000..a4ad833 --- /dev/null +++ b/C_Piscine_C_04/git_old/ex01/main.c @@ -0,0 +1,30 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 09:13:32 by gbaconni #+# #+# */ +/* Updated: 2021/08/13 09:20:53 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +void ft_putstr(char *str); + +int main(void) +{ + char str[32]; + + printf("Input String [max 31]: "); + scanf("%s", str); + ft_putstr(str); + write(1, "\n", 1); + printf("str=%s (ft_putstr)\n", str); + return (0); +} diff --git a/C_Piscine_C_04/git_old/ex01/main.sh b/C_Piscine_C_04/git_old/ex01/main.sh new file mode 100755 index 0000000..292faee --- /dev/null +++ b/C_Piscine_C_04/git_old/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_Piscine_C_04/git_old/ex02/ft_putnbr.c b/C_Piscine_C_04/git_old/ex02/ft_putnbr.c new file mode 100644 index 0000000..3a0203e --- /dev/null +++ b/C_Piscine_C_04/git_old/ex02/ft_putnbr.c @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putnbr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 09:24:02 by gbaconni #+# #+# */ +/* Updated: 2021/08/13 14:47:24 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putnbr(int nb) +{ + char c; + + if (nb == -2147483648) + write(1, "-2147483648", 11); + else if (nb >= 10) + { + ft_putnbr(nb / 10); + ft_putnbr(nb % 10); + } + else if (nb < 0) + { + write(1, "-", 1); + nb *= -1; + ft_putnbr(nb / 10); + ft_putnbr(nb % 10); + } + else if (nb >= 0) + { + c = nb + '0'; + write(1, &c, 1); + } +} diff --git a/C_Piscine_C_04/git_old/ex02/main.c b/C_Piscine_C_04/git_old/ex02/main.c new file mode 100644 index 0000000..7827ee1 --- /dev/null +++ b/C_Piscine_C_04/git_old/ex02/main.c @@ -0,0 +1,30 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 09:22:26 by gbaconni #+# #+# */ +/* Updated: 2021/08/13 11:18:57 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +void ft_putnbr(int nb); + +int main(void) +{ + int nb; + + printf("Input Number: "); + scanf("%d", &nb); + ft_putnbr(nb); + write(1, "\n", 1); + printf("nb=%d (ft_putnbr)\n", nb); + return (0); +} diff --git a/C_Piscine_C_04/git_old/ex02/main.sh b/C_Piscine_C_04/git_old/ex02/main.sh new file mode 100755 index 0000000..292faee --- /dev/null +++ b/C_Piscine_C_04/git_old/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_Piscine_C_04/git_old/ex03/ft_atoi.c b/C_Piscine_C_04/git_old/ex03/ft_atoi.c new file mode 100644 index 0000000..78568e9 --- /dev/null +++ b/C_Piscine_C_04/git_old/ex03/ft_atoi.c @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_atoi.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 12:46:22 by gbaconni #+# #+# */ +/* Updated: 2021/08/13 14:58:30 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_atoi(char *str) +{ + int nb; + int s; + int i; + + nb = 0; + s = 0; + i = 0; + while (str[i] != '\0') + { + if (str[i] == ' ' || (str[i] >= '\t' && str[i] <= '\r')) + s += 0; + else if (str[i] == '+') + s++; + else if (str[i] == '-') + s--; + else if (str[i] >= '0' && str[i] <= '9') + nb = nb * 10 + str[i] - '0'; + else + break ; + i++; + } + if (s < 0) + nb *= -1; + return (nb); +} diff --git a/C_Piscine_C_04/git_old/ex03/main.c b/C_Piscine_C_04/git_old/ex03/main.c new file mode 100644 index 0000000..7fc3eb3 --- /dev/null +++ b/C_Piscine_C_04/git_old/ex03/main.c @@ -0,0 +1,30 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/13 12:46:41 by gbaconni #+# #+# */ +/* Updated: 2021/08/13 13:58:09 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +int ft_atoi(char *str); + +int main(void) +{ + char str[32]; + int result; + + printf("Input String [31]: "); + scanf("%s", str); + result = ft_atoi(str); + printf("str=%s result=%d (ft_atoi)\n", str, result); + return (0); +} diff --git a/C_Piscine_C_04/git_old/ex03/main.sh b/C_Piscine_C_04/git_old/ex03/main.sh new file mode 100755 index 0000000..292faee --- /dev/null +++ b/C_Piscine_C_04/git_old/ex03/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