diff --git a/C_Piscine_C_00/git/.gitignore b/C_Piscine_C_00/git/.gitignore new file mode 100644 index 0000000..872b9a9 --- /dev/null +++ b/C_Piscine_C_00/git/.gitignore @@ -0,0 +1,2 @@ +**/main.c +**/main.sh diff --git a/C_Piscine_C_00/git/ex00/ft_putchar.c b/C_Piscine_C_00/git/ex00/ft_putchar.c new file mode 100644 index 0000000..6e5e1a9 --- /dev/null +++ b/C_Piscine_C_00/git/ex00/ft_putchar.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putchar.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/05 13:11:26 by gbaconni #+# #+# */ +/* Updated: 2021/08/06 09:21:17 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putchar(char c) +{ + write(1, &c, 1); +} diff --git a/C_Piscine_C_00/git/ex01/ft_print_alphabet.c b/C_Piscine_C_00/git/ex01/ft_print_alphabet.c new file mode 100644 index 0000000..dc87b49 --- /dev/null +++ b/C_Piscine_C_00/git/ex01/ft_print_alphabet.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_alphabet.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/05 13:11:54 by gbaconni #+# #+# */ +/* Updated: 2021/08/05 13:17:19 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_print_alphabet(void) +{ + int start; + int end; + int i; + + start = (int) 'a'; + end = (int) 'z'; + i = start; + while (i <= end) + { + write(1, &i, 1); + i++; + } +} diff --git a/C_Piscine_C_00/git/ex02/ft_print_reverse_alphabet.c b/C_Piscine_C_00/git/ex02/ft_print_reverse_alphabet.c new file mode 100644 index 0000000..c63b071 --- /dev/null +++ b/C_Piscine_C_00/git/ex02/ft_print_reverse_alphabet.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_reverse_alphabet.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/05 13:13:58 by gbaconni #+# #+# */ +/* Updated: 2021/08/05 13:17:00 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_print_reverse_alphabet(void) +{ + int start; + int end; + int i; + + start = (int) 'z'; + end = (int) 'a'; + i = start; + while (i >= end) + { + write(1, &i, 1); + i--; + } +} diff --git a/C_Piscine_C_00/git/ex03/ft_print_numbers.c b/C_Piscine_C_00/git/ex03/ft_print_numbers.c new file mode 100644 index 0000000..d224b19 --- /dev/null +++ b/C_Piscine_C_00/git/ex03/ft_print_numbers.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_numbers.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/05 13:15:47 by gbaconni #+# #+# */ +/* Updated: 2021/08/05 13:16:35 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_print_numbers(void) +{ + int start; + int end; + int i; + + start = (int) '0'; + end = (int) '9'; + i = start; + while (i <= end) + { + write(1, &i, 1); + i++; + } +} diff --git a/C_Piscine_C_00/git/ex04/ft_is_negative.c b/C_Piscine_C_00/git/ex04/ft_is_negative.c new file mode 100644 index 0000000..02672cf --- /dev/null +++ b/C_Piscine_C_00/git/ex04/ft_is_negative.c @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_is_negative.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/05 13:18:29 by gbaconni #+# #+# */ +/* Updated: 2021/08/05 13:45:21 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_is_negative(int n) +{ + char c; + + if (n < 0) + c = 'N'; + else + c = 'P'; + write(1, &c, 1); +} diff --git a/C_Piscine_C_00/git/ex05/ft_print_comb.c b/C_Piscine_C_00/git/ex05/ft_print_comb.c new file mode 100644 index 0000000..c5e0e41 --- /dev/null +++ b/C_Piscine_C_00/git/ex05/ft_print_comb.c @@ -0,0 +1,42 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_comb.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/05 13:51:00 by gbaconni #+# #+# */ +/* Updated: 2021/08/05 17:36:28 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_print_comb(void) +{ + int x; + int y; + int z; + char str[3]; + + x = 0; + y = 1; + z = 2; + while (x <= 7) + { + while (y <= 8) + { + while (z <= 9) + { + str[0] = x + '0'; + str[1] = y + '0'; + str[2] = z + '0'; + write(1, &str, 3); + if (z++ != 9 || y != 8 || x != 7) + write(1, ", ", 2); + } + z = ++y + 1; + } + y = ++x; + } +} diff --git a/C_Piscine_C_00/git/ex06/ft_print_comb2.c b/C_Piscine_C_00/git/ex06/ft_print_comb2.c new file mode 100644 index 0000000..bd1c3c4 --- /dev/null +++ b/C_Piscine_C_00/git/ex06/ft_print_comb2.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_comb2.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/05 17:39:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/06 11:45:50 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_print_comb2(void) +{ + int x; + int y; + char str[2]; + + x = 0; + while (x <= 99) + { + y = 1; + while (y <= 99) + { + str[0] = (x / 10) + '0'; + str[1] = (x % 10) + '0'; + write(1, &str, 2); + write(1, " ", 1); + str[0] = (y / 10) + '0'; + str[1] = (y % 10) + '0'; + write(1, &str, 2); + if (y != 99 || x != 99) + write(1, ", ", 2); + y++; + } + x++; + } +} diff --git a/C_Piscine_C_00/git/ex07/ft_putnbr.c b/C_Piscine_C_00/git/ex07/ft_putnbr.c new file mode 100644 index 0000000..57ddca8 --- /dev/null +++ b/C_Piscine_C_00/git/ex07/ft_putnbr.c @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putnbr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/05 18:09:22 by gbaconni #+# #+# */ +/* Updated: 2021/08/06 11:48:21 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putnbr(int nb) +{ + char str[10]; + int i; + + i = 0; + if (nb == 0) + write(1, "0", 1); + while (nb != 0) + { + str[i] = nb % 10 + '0'; + nb /= 10; + i++; + } + while (i > 0) + { + --i; + if (str[i] >= 48 && str[i] <= 57) + write(1, &str[i], 1); + } +} diff --git a/C_Piscine_C_00/git/ex08/ft_print_combn.c b/C_Piscine_C_00/git/ex08/ft_print_combn.c new file mode 100644 index 0000000..a66798b --- /dev/null +++ b/C_Piscine_C_00/git/ex08/ft_print_combn.c @@ -0,0 +1,85 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_combn.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/06 09:43:06 by gbaconni #+# #+# */ +/* Updated: 2021/08/06 11:38:05 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putnbr(int nb) +{ + char str[10]; + int i; + + i = 0; + if (nb == 0) + write(1, "0", 1); + while (nb != 0) + { + str[i] = nb % 10 + '0'; + nb /= 10; + i++; + } + while (i > 0) + { + --i; + if (str[i] >= 48 && str[i] <= 57) + write(1, &str[i], 1); + } +} + +int power(int x, int n) +{ + int r; + + r = 1; + while (n--) + r *= x; + return (r); +} + +int ndigits(int n) +{ + int r; + + r = 1; + if (n < 0) + { + if (n == 0) + n = 2147483647; + else + n = -n; + } + while (n > 9) + { + n /= 10; + r++; + } + return (r); +} + +void ft_print_combn(int n) +{ + int x; + int z; + int max; + + max = power(10, n) - 1; + x = 1; + while (x <= max) + { + z = n - ndigits(x); + while (z-- > 0) + write(1, "0", 1); + ft_putnbr(x); + if (x != max) + write(1, ", ", 2); + x++; + } +} diff --git a/C_Piscine_C_01/git/.gitignore b/C_Piscine_C_01/git/.gitignore new file mode 100644 index 0000000..2c8cfde --- /dev/null +++ b/C_Piscine_C_01/git/.gitignore @@ -0,0 +1,5 @@ +**/main.c +**/main.sh +**/a.out +**/a.sh +**/Makefile diff --git a/C_Piscine_C_01/git/ex00/ft_ft.c b/C_Piscine_C_01/git/ex00/ft_ft.c new file mode 100644 index 0000000..5f2af63 --- /dev/null +++ b/C_Piscine_C_01/git/ex00/ft_ft.c @@ -0,0 +1,16 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_ft.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 09:25:38 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 09:25:41 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_ft(int *nbr) +{ + *nbr = 42; +} diff --git a/C_Piscine_C_01/git/ex01/ft_ultimate_ft.c b/C_Piscine_C_01/git/ex01/ft_ultimate_ft.c new file mode 100644 index 0000000..57d545f --- /dev/null +++ b/C_Piscine_C_01/git/ex01/ft_ultimate_ft.c @@ -0,0 +1,16 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_ultimate_ft.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 10:33:47 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 10:33:48 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_ultimate_ft(int *********nbr) +{ + *********nbr = 42; +} diff --git a/C_Piscine_C_01/git/ex02/ft_swap.c b/C_Piscine_C_01/git/ex02/ft_swap.c new file mode 100644 index 0000000..009f6c0 --- /dev/null +++ b/C_Piscine_C_01/git/ex02/ft_swap.c @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_swap.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 10:49:30 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 10:49:42 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_swap(int *a, int *b) +{ + int n; + + n = *a; + *a = *b; + *b = n; +} diff --git a/C_Piscine_C_01/git/ex03/ft_div_mod.c b/C_Piscine_C_01/git/ex03/ft_div_mod.c new file mode 100644 index 0000000..ef95dfe --- /dev/null +++ b/C_Piscine_C_01/git/ex03/ft_div_mod.c @@ -0,0 +1,17 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_div_mod.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 10:57:04 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 10:58:25 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_div_mod(int a, int b, int *div, int *mod) +{ + *div = a / b; + *mod = a % b; +} diff --git a/C_Piscine_C_01/git/ex04/ft_ultimate_div_mod.c b/C_Piscine_C_01/git/ex04/ft_ultimate_div_mod.c new file mode 100644 index 0000000..e26bb5a --- /dev/null +++ b/C_Piscine_C_01/git/ex04/ft_ultimate_div_mod.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_ultimate_div_mod.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 11:11:27 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 11:11:29 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_ultimate_div_mod(int *a, int *b) +{ + int div; + int mod; + + div = *a / *b; + mod = *a % *b; + *a = div; + *b = mod; +} diff --git a/C_Piscine_C_01/git/ex05/ft_putstr.c b/C_Piscine_C_01/git/ex05/ft_putstr.c new file mode 100644 index 0000000..e5da8d7 --- /dev/null +++ b/C_Piscine_C_01/git/ex05/ft_putstr.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 11:19:27 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 17:03:09 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putstr(char *str) +{ + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + write(1, str, size); +} diff --git a/C_Piscine_C_01/git/ex06/ft_strlen.c b/C_Piscine_C_01/git/ex06/ft_strlen.c new file mode 100644 index 0000000..fd8928a --- /dev/null +++ b/C_Piscine_C_01/git/ex06/ft_strlen.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlen.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 11:23:08 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 17:03:24 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strlen(char *str) +{ + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + return (size); +} diff --git a/C_Piscine_C_01/git/ex07/ft_rev_int_tab.c b/C_Piscine_C_01/git/ex07/ft_rev_int_tab.c new file mode 100644 index 0000000..c1c6c19 --- /dev/null +++ b/C_Piscine_C_01/git/ex07/ft_rev_int_tab.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_rev_int_tab.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 13:52:33 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 17:02:29 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_rev_int_tab(int *tab, int size) +{ + int i; + int j; + int n; + + i = 0; + while (i < (size / 2)) + { + j = size - 1 - i; + n = tab[i]; + tab[i] = tab[j]; + tab[j] = n; + i++; + } +} diff --git a/C_Piscine_C_01/git/ex08/ft_sort_int_tab.c b/C_Piscine_C_01/git/ex08/ft_sort_int_tab.c new file mode 100644 index 0000000..27adb6d --- /dev/null +++ b/C_Piscine_C_01/git/ex08/ft_sort_int_tab.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_sort_int_tab.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 14:23:41 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 14:49:11 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_sort_int_tab(int *tab, int size) +{ + int i; + int pass; + int n; + + pass = size - 1; + while (pass--) + { + i = 0; + while (i < size - 1) + { + if (tab[i] > tab[i + 1]) + { + n = tab[i]; + tab[i] = tab[i + 1]; + tab[i + 1] = n; + } + i++; + } + } +} diff --git a/C_Piscine_C_01/git_old/.gitignore b/C_Piscine_C_01/git_old/.gitignore new file mode 100644 index 0000000..2c8cfde --- /dev/null +++ b/C_Piscine_C_01/git_old/.gitignore @@ -0,0 +1,5 @@ +**/main.c +**/main.sh +**/a.out +**/a.sh +**/Makefile diff --git a/C_Piscine_C_01/git_old/ex00/ft_ft.c b/C_Piscine_C_01/git_old/ex00/ft_ft.c new file mode 100644 index 0000000..5f2af63 --- /dev/null +++ b/C_Piscine_C_01/git_old/ex00/ft_ft.c @@ -0,0 +1,16 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_ft.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 09:25:38 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 09:25:41 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_ft(int *nbr) +{ + *nbr = 42; +} diff --git a/C_Piscine_C_01/git_old/ex01/ft_ultimate_ft.c b/C_Piscine_C_01/git_old/ex01/ft_ultimate_ft.c new file mode 100644 index 0000000..57d545f --- /dev/null +++ b/C_Piscine_C_01/git_old/ex01/ft_ultimate_ft.c @@ -0,0 +1,16 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_ultimate_ft.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 10:33:47 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 10:33:48 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_ultimate_ft(int *********nbr) +{ + *********nbr = 42; +} diff --git a/C_Piscine_C_01/git_old/ex02/ft_swap.c b/C_Piscine_C_01/git_old/ex02/ft_swap.c new file mode 100644 index 0000000..009f6c0 --- /dev/null +++ b/C_Piscine_C_01/git_old/ex02/ft_swap.c @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_swap.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 10:49:30 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 10:49:42 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_swap(int *a, int *b) +{ + int n; + + n = *a; + *a = *b; + *b = n; +} diff --git a/C_Piscine_C_01/git_old/ex03/ft_div_mod.c b/C_Piscine_C_01/git_old/ex03/ft_div_mod.c new file mode 100644 index 0000000..ef95dfe --- /dev/null +++ b/C_Piscine_C_01/git_old/ex03/ft_div_mod.c @@ -0,0 +1,17 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_div_mod.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 10:57:04 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 10:58:25 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_div_mod(int a, int b, int *div, int *mod) +{ + *div = a / b; + *mod = a % b; +} diff --git a/C_Piscine_C_01/git_old/ex04/ft_ultimate_div_mod.c b/C_Piscine_C_01/git_old/ex04/ft_ultimate_div_mod.c new file mode 100644 index 0000000..e26bb5a --- /dev/null +++ b/C_Piscine_C_01/git_old/ex04/ft_ultimate_div_mod.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_ultimate_div_mod.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 11:11:27 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 11:11:29 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_ultimate_div_mod(int *a, int *b) +{ + int div; + int mod; + + div = *a / *b; + mod = *a % *b; + *a = div; + *b = mod; +} diff --git a/C_Piscine_C_01/git_old/ex05/ft_putstr.c b/C_Piscine_C_01/git_old/ex05/ft_putstr.c new file mode 100644 index 0000000..e5da8d7 --- /dev/null +++ b/C_Piscine_C_01/git_old/ex05/ft_putstr.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 11:19:27 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 17:03:09 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putstr(char *str) +{ + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + write(1, str, size); +} diff --git a/C_Piscine_C_01/git_old/ex06/ft_strlen.c b/C_Piscine_C_01/git_old/ex06/ft_strlen.c new file mode 100644 index 0000000..fd8928a --- /dev/null +++ b/C_Piscine_C_01/git_old/ex06/ft_strlen.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlen.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 11:23:08 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 17:03:24 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strlen(char *str) +{ + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + return (size); +} diff --git a/C_Piscine_C_01/git_old/ex07/ft_rev_int_tab.c b/C_Piscine_C_01/git_old/ex07/ft_rev_int_tab.c new file mode 100644 index 0000000..c1c6c19 --- /dev/null +++ b/C_Piscine_C_01/git_old/ex07/ft_rev_int_tab.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_rev_int_tab.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 13:52:33 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 17:02:29 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_rev_int_tab(int *tab, int size) +{ + int i; + int j; + int n; + + i = 0; + while (i < (size / 2)) + { + j = size - 1 - i; + n = tab[i]; + tab[i] = tab[j]; + tab[j] = n; + i++; + } +} diff --git a/C_Piscine_C_01/git_old/ex08/ft_sort_int_tab.c b/C_Piscine_C_01/git_old/ex08/ft_sort_int_tab.c new file mode 100644 index 0000000..27adb6d --- /dev/null +++ b/C_Piscine_C_01/git_old/ex08/ft_sort_int_tab.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_sort_int_tab.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 14:23:41 by gbaconni #+# #+# */ +/* Updated: 2021/08/09 14:49:11 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +void ft_sort_int_tab(int *tab, int size) +{ + int i; + int pass; + int n; + + pass = size - 1; + while (pass--) + { + i = 0; + while (i < size - 1) + { + if (tab[i] > tab[i + 1]) + { + n = tab[i]; + tab[i] = tab[i + 1]; + tab[i + 1] = n; + } + i++; + } + } +} diff --git a/C_Piscine_C_02/git/.gitignore b/C_Piscine_C_02/git/.gitignore new file mode 100644 index 0000000..d6d3690 --- /dev/null +++ b/C_Piscine_C_02/git/.gitignore @@ -0,0 +1,7 @@ +**/main.c +**/main.sh +**/a.out +**/a.sh +**/Makefile +**/*.swp +**/*~ diff --git a/C_Piscine_C_02/git/ex00/ft_strcpy.c b/C_Piscine_C_02/git/ex00/ft_strcpy.c new file mode 100644 index 0000000..8a01b36 --- /dev/null +++ b/C_Piscine_C_02/git/ex00/ft_strcpy.c @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 13:27:29 by gbaconni #+# #+# */ +/* Updated: 2021/08/11 14:49:52 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +char *ft_strcpy(char *dest, char *src) +{ + int i; + int src_size; + int dest_size; + + src_size = 0; + while (src[src_size++] != '\0') + continue ; + dest_size = 0; + while (dest[dest_size++] != '\0') + continue ; + i = 0; + while (i < src_size) + { + dest[i] = src[i]; + i++; + } + while (i < dest_size) + { + dest[i] = '\0'; + i++; + } + return (dest); +} diff --git a/C_Piscine_C_02/git/ex01/ft_strncpy.c b/C_Piscine_C_02/git/ex01/ft_strncpy.c new file mode 100644 index 0000000..ed6d8b6 --- /dev/null +++ b/C_Piscine_C_02/git/ex01/ft_strncpy.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strncpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 18:19:08 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 09:49:18 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strncpy(char *dest, char *src, unsigned int n) +{ + unsigned int i; + + i = 0; + while (i < n && src[i] != '\0') + { + dest[i] = src[i]; + i++; + } + while (i < n) + { + dest[i] = '\0'; + i++; + } + return (dest); +} diff --git a/C_Piscine_C_02/git/ex02/ft_str_is_alpha.c b/C_Piscine_C_02/git/ex02/ft_str_is_alpha.c new file mode 100644 index 0000000..81e2892 --- /dev/null +++ b/C_Piscine_C_02/git/ex02/ft_str_is_alpha.c @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_alpha.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 17:43:26 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 09:58:08 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_alpha(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'a' && str[i] <= 'z') \ + || (str[i] >= 'A' && str[i] <= 'Z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git/ex03/ft_str_is_numeric.c b/C_Piscine_C_02/git/ex03/ft_str_is_numeric.c new file mode 100644 index 0000000..8afebe8 --- /dev/null +++ b/C_Piscine_C_02/git/ex03/ft_str_is_numeric.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_numeric.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:14:17 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:15:38 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_numeric(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= '0' && str[i] <= '9'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git/ex04/ft_str_is_lowercase.c b/C_Piscine_C_02/git/ex04/ft_str_is_lowercase.c new file mode 100644 index 0000000..8f7a890 --- /dev/null +++ b/C_Piscine_C_02/git/ex04/ft_str_is_lowercase.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_lowercase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:45:53 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:45:56 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_lowercase(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'a' && str[i] <= 'z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git/ex05/ft_str_is_uppercase.c b/C_Piscine_C_02/git/ex05/ft_str_is_uppercase.c new file mode 100644 index 0000000..ce7dda2 --- /dev/null +++ b/C_Piscine_C_02/git/ex05/ft_str_is_uppercase.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_uppercase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:47:51 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:48:16 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_uppercase(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'A' && str[i] <= 'Z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git/ex06/ft_str_is_printable.c b/C_Piscine_C_02/git/ex06/ft_str_is_printable.c new file mode 100644 index 0000000..cc9f1b4 --- /dev/null +++ b/C_Piscine_C_02/git/ex06/ft_str_is_printable.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_printable.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:05:18 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:10:03 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_printable(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= ' ' && str[i] <= '~'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git/ex07/ft_strupcase.c b/C_Piscine_C_02/git/ex07/ft_strupcase.c new file mode 100644 index 0000000..b6ad273 --- /dev/null +++ b/C_Piscine_C_02/git/ex07/ft_strupcase.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strupcase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:15:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:25:39 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strupcase(char *str) +{ + int i; + int size; + + size = 0; + while (str[size++] != '\0') + continue ; + i = 0; + while (i < size) + { + if (str[i] >= 'a' && str[i] <= 'z') + str[i] = str[i] - 32; + i++; + } + return (str); +} diff --git a/C_Piscine_C_02/git/ex08/ft_strlowcase.c b/C_Piscine_C_02/git/ex08/ft_strlowcase.c new file mode 100644 index 0000000..541a8e7 --- /dev/null +++ b/C_Piscine_C_02/git/ex08/ft_strlowcase.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlowcase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:34:35 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:40:03 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strlowcase(char *str) +{ + int i; + int size; + + size = 0; + while (str[size++] != '\0') + continue ; + i = 0; + while (i < size) + { + if (str[i] >= 'A' && str[i] <= 'Z') + str[i] += 32; + i++; + } + return (str); +} diff --git a/C_Piscine_C_02/git/ex09/ft_strcapitalize.c b/C_Piscine_C_02/git/ex09/ft_strcapitalize.c new file mode 100644 index 0000000..3d0367a --- /dev/null +++ b/C_Piscine_C_02/git/ex09/ft_strcapitalize.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcapitalize.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:43:39 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 09:47:40 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strcapitalize(char *str) +{ + int i; + char prev_c; + + prev_c = ' '; + i = 0; + while (str[i] != '\0') + { + if (\ + (\ + (prev_c >= ' ' && prev_c <= '/') || \ + (prev_c >= ':' && prev_c <= '@') || \ + (prev_c >= '[' && prev_c <= '`') || \ + (prev_c >= '{' && prev_c <= '~') \ + ) && \ + (str[i] >= 'a' && str[i] <= 'z') \ + ) + str[i] -= 32; + else if (str[i] >= 'A' && str[i] <= 'Z') + str[i] += 32; + prev_c = str[i++]; + } + return (str); +} diff --git a/C_Piscine_C_02/git/ex10/ft_strlcpy.c b/C_Piscine_C_02/git/ex10/ft_strlcpy.c new file mode 100644 index 0000000..54ab30c --- /dev/null +++ b/C_Piscine_C_02/git/ex10/ft_strlcpy.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/11 10:20:13 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 10:40:17 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +unsigned int ft_strlcpy(char *dest, char *src, unsigned int size) +{ + char *p_dest; + char *p_src; + unsigned int n; + + p_dest = dest; + p_src = src; + n = size; + while (n != 0 && --n != 0 && *p_src != '\0') + *p_dest++ = *p_src++; + if (size != 0) + *p_dest = '\0'; + while (*p_src++) + continue ; + return (p_src - src - 1); +} diff --git a/C_Piscine_C_02/git/ex11/ft_putstr_non_printable.c b/C_Piscine_C_02/git/ex11/ft_putstr_non_printable.c new file mode 100644 index 0000000..8d09f84 --- /dev/null +++ b/C_Piscine_C_02/git/ex11/ft_putstr_non_printable.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr_non_printable.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/11 11:29:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 11:40:23 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +// for i in {0..127}; do printf "%02x" $i; done +void ft_putstr_non_printable(char *str) +{ + const char *hex = "\ +000102030405060708090a0b0c0d0e0f\ +101112131415161718191a1b1c1d1e1f\ +202122232425262728292a2b2c2d2e2f\ +303132333435363738393a3b3c3d3e3f\ +404142434445464748494a4b4c4d4e4f\ +505152535455565758595a5b5c5d5e5f\ +606162636465666768696a6b6c6d6e6f\ +707172737475767778797a7b7c7d7e7f"; + + while (*str != '\0') + { + if (*str >= ' ' && *str != '~' + 1) + write(1, str, 1); + else + { + write(1, "\\", 1); + write(1, hex + *str * 2, 2); + } + str++; + } +} diff --git a/C_Piscine_C_02/git_old/.gitignore b/C_Piscine_C_02/git_old/.gitignore new file mode 100644 index 0000000..d6d3690 --- /dev/null +++ b/C_Piscine_C_02/git_old/.gitignore @@ -0,0 +1,7 @@ +**/main.c +**/main.sh +**/a.out +**/a.sh +**/Makefile +**/*.swp +**/*~ diff --git a/C_Piscine_C_02/git_old/ex00/ft_strcpy.c b/C_Piscine_C_02/git_old/ex00/ft_strcpy.c new file mode 100644 index 0000000..8a01b36 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex00/ft_strcpy.c @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 13:27:29 by gbaconni #+# #+# */ +/* Updated: 2021/08/11 14:49:52 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +char *ft_strcpy(char *dest, char *src) +{ + int i; + int src_size; + int dest_size; + + src_size = 0; + while (src[src_size++] != '\0') + continue ; + dest_size = 0; + while (dest[dest_size++] != '\0') + continue ; + i = 0; + while (i < src_size) + { + dest[i] = src[i]; + i++; + } + while (i < dest_size) + { + dest[i] = '\0'; + i++; + } + return (dest); +} diff --git a/C_Piscine_C_02/git_old/ex01/ft_strncpy.c b/C_Piscine_C_02/git_old/ex01/ft_strncpy.c new file mode 100644 index 0000000..1648085 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex01/ft_strncpy.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strncpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 18:19:08 by gbaconni #+# #+# */ +/* Updated: 2021/08/11 18:05:56 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +char *ft_strncpy(char *dest, char *src, unsigned int n) +{ + unsigned int i; + unsigned int dest_size; + + dest_size = 0; + while (dest[dest_size++] != '\0') + continue ; + i = 0; + while (n > 0 && i < n) + { + dest[i] = src[i]; + i++; + } + while (i < dest_size) + { + printf("Hello\n"); + dest[i] = '\0'; + i++; + } + return (dest); +} diff --git a/C_Piscine_C_02/git_old/ex02/ft_str_is_alpha.c b/C_Piscine_C_02/git_old/ex02/ft_str_is_alpha.c new file mode 100644 index 0000000..81e2892 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex02/ft_str_is_alpha.c @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_alpha.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 17:43:26 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 09:58:08 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_alpha(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'a' && str[i] <= 'z') \ + || (str[i] >= 'A' && str[i] <= 'Z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_old/ex03/ft_str_is_numeric.c b/C_Piscine_C_02/git_old/ex03/ft_str_is_numeric.c new file mode 100644 index 0000000..8afebe8 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex03/ft_str_is_numeric.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_numeric.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:14:17 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:15:38 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_numeric(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= '0' && str[i] <= '9'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_old/ex04/ft_str_is_lowercase.c b/C_Piscine_C_02/git_old/ex04/ft_str_is_lowercase.c new file mode 100644 index 0000000..8f7a890 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex04/ft_str_is_lowercase.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_lowercase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:45:53 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:45:56 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_lowercase(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'a' && str[i] <= 'z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_old/ex05/ft_str_is_uppercase.c b/C_Piscine_C_02/git_old/ex05/ft_str_is_uppercase.c new file mode 100644 index 0000000..ce7dda2 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex05/ft_str_is_uppercase.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_uppercase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:47:51 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:48:16 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_uppercase(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'A' && str[i] <= 'Z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_old/ex06/ft_str_is_printable.c b/C_Piscine_C_02/git_old/ex06/ft_str_is_printable.c new file mode 100644 index 0000000..cc9f1b4 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex06/ft_str_is_printable.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_printable.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:05:18 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:10:03 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_printable(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= ' ' && str[i] <= '~'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_old/ex07/ft_strupcase.c b/C_Piscine_C_02/git_old/ex07/ft_strupcase.c new file mode 100644 index 0000000..b6ad273 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex07/ft_strupcase.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strupcase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:15:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:25:39 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strupcase(char *str) +{ + int i; + int size; + + size = 0; + while (str[size++] != '\0') + continue ; + i = 0; + while (i < size) + { + if (str[i] >= 'a' && str[i] <= 'z') + str[i] = str[i] - 32; + i++; + } + return (str); +} diff --git a/C_Piscine_C_02/git_old/ex08/ft_strlowcase.c b/C_Piscine_C_02/git_old/ex08/ft_strlowcase.c new file mode 100644 index 0000000..541a8e7 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex08/ft_strlowcase.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlowcase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:34:35 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:40:03 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strlowcase(char *str) +{ + int i; + int size; + + size = 0; + while (str[size++] != '\0') + continue ; + i = 0; + while (i < size) + { + if (str[i] >= 'A' && str[i] <= 'Z') + str[i] += 32; + i++; + } + return (str); +} diff --git a/C_Piscine_C_02/git_old/ex09/ft_strcapitalize.c b/C_Piscine_C_02/git_old/ex09/ft_strcapitalize.c new file mode 100644 index 0000000..2347791 --- /dev/null +++ b/C_Piscine_C_02/git_old/ex09/ft_strcapitalize.c @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcapitalize.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:43:39 by gbaconni #+# #+# */ +/* Updated: 2021/08/11 09:11:42 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strcapitalize(char *str) +{ + int i; + int size; + char prev_c; + + size = 0; + while (str[size++] != '\0') + continue ; + prev_c = ' '; + i = 0; + while (i < size - 1) + { + if (\ + (str[i] >= 'a' && str[i] <= 'z') && \ + (\ + (prev_c >= ' ' && prev_c <= '/') || \ + (prev_c >= ':' && prev_c <= '@') || \ + (prev_c >= '[' && prev_c <= '`') || \ + (prev_c >= '{' && prev_c <= '~') \ + ) \ + ) + str[i] -= 32; + prev_c = str[i++]; + } + return (str); +} diff --git a/C_Piscine_C_02/git_old/ex10/ft_strlcpy.c b/C_Piscine_C_02/git_old/ex10/ft_strlcpy.c new file mode 100644 index 0000000..4f1b65c --- /dev/null +++ b/C_Piscine_C_02/git_old/ex10/ft_strlcpy.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/11 10:20:13 by gbaconni #+# #+# */ +/* Updated: 2021/08/11 15:36:08 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +unsigned int ft_strlcpy(char *dest, char *src, unsigned int size) +{ + unsigned int i; + unsigned int src_size; + unsigned int dest_size; + + src_size = 0; + while (src[src_size++] != '\0') + continue ; + dest_size = 0; + while (dest[dest_size++] != '\0') + continue ; + i = 0; + while (size > 0 && i < size - 1) + { + dest[i] = src[i]; + i++; + } + while (i < dest_size) + { + dest[i] = '\0'; + i++; + } + return (--src_size); +} diff --git a/C_Piscine_C_02/git_old/ex11/ft_putstr_non_printable.c b/C_Piscine_C_02/git_old/ex11/ft_putstr_non_printable.c new file mode 100644 index 0000000..df2b15b --- /dev/null +++ b/C_Piscine_C_02/git_old/ex11/ft_putstr_non_printable.c @@ -0,0 +1,59 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr_non_printable.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/11 11:29:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/11 16:56:40 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +// for i in {0..255}; do printf "%02x" $i; done +void ft_putstr_non_printable(char *str) +{ + int size; + const char *hex = "000102030405060708090a\ +0b0c0d0e0f101112131415\ +161718191a1b1c1d1e1f20\ +2122232425262728292a2b\ +2c2d2e2f30313233343536\ +3738393a3b3c3d3e3f4041\ +42434445464748494a4b4c\ +4d4e4f5051525354555657\ +58595a5b5c5d5e5f606162\ +636465666768696a6b6c6d\ +6e6f707172737475767778\ +797a7b7c7d7e7f80818283\ +8485868788898a8b8c8d8e\ +8f90919293949596979899\ +9a9b9c9d9e9fa0a1a2a3a4\ +a5a6a7a8a9aaabacadaeaf\ +b0b1b2b3b4b5b6b7b8b9ba\ +bbbcbdbebfc0c1c2c3c4c5\ +c6c7c8c9cacbcccdcecfd0\ +d1d2d3d4d5d6d7d8d9dadb\ +dcdddedfe0e1e2e3e4e5e6\ +e7e8e9eaebecedeeeff0f1\ +f2f3f4f5f6f7f8f9fafbfc\ +fdfeff"; + + size = 0; + while (str[size++] != '\0') + continue ; + while (--size) + { + if (*str >= ' ' && *str <= '~') + write(1, str, 1); + else + { + write(1, "\\", 1); + write(1, hex + *str * 2, 2); + } + str++; + } +} diff --git a/C_Piscine_C_02/git_todo/.gitignore b/C_Piscine_C_02/git_todo/.gitignore new file mode 100644 index 0000000..d6d3690 --- /dev/null +++ b/C_Piscine_C_02/git_todo/.gitignore @@ -0,0 +1,7 @@ +**/main.c +**/main.sh +**/a.out +**/a.sh +**/Makefile +**/*.swp +**/*~ diff --git a/C_Piscine_C_02/git_todo/ex00/ft_strcpy.c b/C_Piscine_C_02/git_todo/ex00/ft_strcpy.c new file mode 100644 index 0000000..8a01b36 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex00/ft_strcpy.c @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 13:27:29 by gbaconni #+# #+# */ +/* Updated: 2021/08/11 14:49:52 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +char *ft_strcpy(char *dest, char *src) +{ + int i; + int src_size; + int dest_size; + + src_size = 0; + while (src[src_size++] != '\0') + continue ; + dest_size = 0; + while (dest[dest_size++] != '\0') + continue ; + i = 0; + while (i < src_size) + { + dest[i] = src[i]; + i++; + } + while (i < dest_size) + { + dest[i] = '\0'; + i++; + } + return (dest); +} diff --git a/C_Piscine_C_02/git_todo/ex01/ft_strncpy.c b/C_Piscine_C_02/git_todo/ex01/ft_strncpy.c new file mode 100644 index 0000000..ed6d8b6 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex01/ft_strncpy.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strncpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 18:19:08 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 09:49:18 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strncpy(char *dest, char *src, unsigned int n) +{ + unsigned int i; + + i = 0; + while (i < n && src[i] != '\0') + { + dest[i] = src[i]; + i++; + } + while (i < n) + { + dest[i] = '\0'; + i++; + } + return (dest); +} diff --git a/C_Piscine_C_02/git_todo/ex02/ft_str_is_alpha.c b/C_Piscine_C_02/git_todo/ex02/ft_str_is_alpha.c new file mode 100644 index 0000000..81e2892 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex02/ft_str_is_alpha.c @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_alpha.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/09 17:43:26 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 09:58:08 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_alpha(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'a' && str[i] <= 'z') \ + || (str[i] >= 'A' && str[i] <= 'Z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_todo/ex03/ft_str_is_numeric.c b/C_Piscine_C_02/git_todo/ex03/ft_str_is_numeric.c new file mode 100644 index 0000000..8afebe8 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex03/ft_str_is_numeric.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_numeric.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:14:17 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:15:38 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_numeric(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= '0' && str[i] <= '9'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_todo/ex04/ft_str_is_lowercase.c b/C_Piscine_C_02/git_todo/ex04/ft_str_is_lowercase.c new file mode 100644 index 0000000..8f7a890 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex04/ft_str_is_lowercase.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_lowercase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:45:53 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:45:56 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_lowercase(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'a' && str[i] <= 'z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_todo/ex05/ft_str_is_uppercase.c b/C_Piscine_C_02/git_todo/ex05/ft_str_is_uppercase.c new file mode 100644 index 0000000..ce7dda2 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex05/ft_str_is_uppercase.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_uppercase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 10:47:51 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 10:48:16 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_uppercase(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= 'A' && str[i] <= 'Z'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_todo/ex06/ft_str_is_printable.c b/C_Piscine_C_02/git_todo/ex06/ft_str_is_printable.c new file mode 100644 index 0000000..cc9f1b4 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex06/ft_str_is_printable.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_str_is_printable.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:05:18 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:10:03 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_str_is_printable(char *str) +{ + int i; + int r; + int size; + + size = 0; + while (str[size] != '\0') + { + size++; + } + r = 1; + i = 0; + while (i < size) + { + r &= (str[i] >= ' ' && str[i] <= '~'); + i++; + } + return (r); +} diff --git a/C_Piscine_C_02/git_todo/ex07/ft_strupcase.c b/C_Piscine_C_02/git_todo/ex07/ft_strupcase.c new file mode 100644 index 0000000..b6ad273 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex07/ft_strupcase.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strupcase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:15:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:25:39 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strupcase(char *str) +{ + int i; + int size; + + size = 0; + while (str[size++] != '\0') + continue ; + i = 0; + while (i < size) + { + if (str[i] >= 'a' && str[i] <= 'z') + str[i] = str[i] - 32; + i++; + } + return (str); +} diff --git a/C_Piscine_C_02/git_todo/ex08/ft_strlowcase.c b/C_Piscine_C_02/git_todo/ex08/ft_strlowcase.c new file mode 100644 index 0000000..541a8e7 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex08/ft_strlowcase.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlowcase.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:34:35 by gbaconni #+# #+# */ +/* Updated: 2021/08/10 11:40:03 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strlowcase(char *str) +{ + int i; + int size; + + size = 0; + while (str[size++] != '\0') + continue ; + i = 0; + while (i < size) + { + if (str[i] >= 'A' && str[i] <= 'Z') + str[i] += 32; + i++; + } + return (str); +} diff --git a/C_Piscine_C_02/git_todo/ex09/ft_strcapitalize.c b/C_Piscine_C_02/git_todo/ex09/ft_strcapitalize.c new file mode 100644 index 0000000..3d0367a --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex09/ft_strcapitalize.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcapitalize.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/10 11:43:39 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 09:47:40 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strcapitalize(char *str) +{ + int i; + char prev_c; + + prev_c = ' '; + i = 0; + while (str[i] != '\0') + { + if (\ + (\ + (prev_c >= ' ' && prev_c <= '/') || \ + (prev_c >= ':' && prev_c <= '@') || \ + (prev_c >= '[' && prev_c <= '`') || \ + (prev_c >= '{' && prev_c <= '~') \ + ) && \ + (str[i] >= 'a' && str[i] <= 'z') \ + ) + str[i] -= 32; + else if (str[i] >= 'A' && str[i] <= 'Z') + str[i] += 32; + prev_c = str[i++]; + } + return (str); +} diff --git a/C_Piscine_C_02/git_todo/ex10/ft_strlcpy.c b/C_Piscine_C_02/git_todo/ex10/ft_strlcpy.c new file mode 100644 index 0000000..54ab30c --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex10/ft_strlcpy.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcpy.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/11 10:20:13 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 10:40:17 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +unsigned int ft_strlcpy(char *dest, char *src, unsigned int size) +{ + char *p_dest; + char *p_src; + unsigned int n; + + p_dest = dest; + p_src = src; + n = size; + while (n != 0 && --n != 0 && *p_src != '\0') + *p_dest++ = *p_src++; + if (size != 0) + *p_dest = '\0'; + while (*p_src++) + continue ; + return (p_src - src - 1); +} diff --git a/C_Piscine_C_02/git_todo/ex11/ft_putstr_non_printable.c b/C_Piscine_C_02/git_todo/ex11/ft_putstr_non_printable.c new file mode 100644 index 0000000..8d09f84 --- /dev/null +++ b/C_Piscine_C_02/git_todo/ex11/ft_putstr_non_printable.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr_non_printable.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/11 11:29:09 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 11:40:23 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +// for i in {0..127}; do printf "%02x" $i; done +void ft_putstr_non_printable(char *str) +{ + const char *hex = "\ +000102030405060708090a0b0c0d0e0f\ +101112131415161718191a1b1c1d1e1f\ +202122232425262728292a2b2c2d2e2f\ +303132333435363738393a3b3c3d3e3f\ +404142434445464748494a4b4c4d4e4f\ +505152535455565758595a5b5c5d5e5f\ +606162636465666768696a6b6c6d6e6f\ +707172737475767778797a7b7c7d7e7f"; + + while (*str != '\0') + { + if (*str >= ' ' && *str != '~' + 1) + write(1, str, 1); + else + { + write(1, "\\", 1); + write(1, hex + *str * 2, 2); + } + str++; + } +} diff --git a/C_Piscine_C_03/git/.gitignore b/C_Piscine_C_03/git/.gitignore new file mode 100644 index 0000000..d6d3690 --- /dev/null +++ b/C_Piscine_C_03/git/.gitignore @@ -0,0 +1,7 @@ +**/main.c +**/main.sh +**/a.out +**/a.sh +**/Makefile +**/*.swp +**/*~ diff --git a/C_Piscine_C_03/git/ex00/ft_strcmp.c b/C_Piscine_C_03/git/ex00/ft_strcmp.c new file mode 100644 index 0000000..d739d98 --- /dev/null +++ b/C_Piscine_C_03/git/ex00/ft_strcmp.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/12 12:14:57 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 14:50:37 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strcmp(char *s1, char *s2) +{ + char c1; + char c2; + + c1 = '\0'; + c2 = '\0'; + while (c1 == c2) + { + c1 = *s1++; + c2 = *s2++; + if (c1 == '\0') + break ; + } + return (c1 - c2); +} diff --git a/C_Piscine_C_03/git/ex01/ft_strncmp.c b/C_Piscine_C_03/git/ex01/ft_strncmp.c new file mode 100644 index 0000000..0eb12f9 --- /dev/null +++ b/C_Piscine_C_03/git/ex01/ft_strncmp.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strncmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/12 15:16:07 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 15:16:11 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_strncmp(char *s1, char *s2, unsigned int n) +{ + char c1; + char c2; + + if (n == 0) + return (0); + c1 = '\0'; + c2 = '\0'; + while (n > 0) + { + c1 = *s1++; + c2 = *s2++; + if (c1 == '\0' || c1 != c2) + break ; + n--; + } + return (c1 - c2); +} diff --git a/C_Piscine_C_03/git/ex02/ft_strcat.c b/C_Piscine_C_03/git/ex02/ft_strcat.c new file mode 100644 index 0000000..2303ba4 --- /dev/null +++ b/C_Piscine_C_03/git/ex02/ft_strcat.c @@ -0,0 +1,26 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcat.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/12 16:01:50 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 16:37:01 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +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); +} diff --git a/C_Piscine_C_03/git/ex03/ft_strncat.c b/C_Piscine_C_03/git/ex03/ft_strncat.c new file mode 100644 index 0000000..68eebf3 --- /dev/null +++ b/C_Piscine_C_03/git/ex03/ft_strncat.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strncat.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/12 16:43:59 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 16:47:35 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strncat(char *dest, char *src, unsigned int nb) +{ + char *s1; + char *s2; + + s1 = dest; + s2 = src; + while (*s1 != '\0') + s1++; + while (nb > 0 && *s2 != '\0') + { + *s1++ = *s2++; + nb--; + } + *s1 = '\0'; + return (dest); +} diff --git a/C_Piscine_C_03/git/ex04/ft_strstr.c b/C_Piscine_C_03/git/ex04/ft_strstr.c new file mode 100644 index 0000000..a890823 --- /dev/null +++ b/C_Piscine_C_03/git/ex04/ft_strstr.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/12 16:49:31 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 17:11:14 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +char *ft_strstr(char *str, char *to_find) +{ + unsigned int i; + unsigned int j; + + i = 0; + while (str[i] != '\0') + { + j = 0; + while (str[i + j] != '\0' && str[i + j] == to_find[j]) + j++; + if (to_find[j] == '\0') + return (str + i); + i++; + } + return (NULL); +} diff --git a/C_Piscine_C_03/git/ex05/ft_strlcat.c b/C_Piscine_C_03/git/ex05/ft_strlcat.c new file mode 100644 index 0000000..83beae4 --- /dev/null +++ b/C_Piscine_C_03/git/ex05/ft_strlcat.c @@ -0,0 +1,36 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcat.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/12 17:12:30 by gbaconni #+# #+# */ +/* Updated: 2021/08/12 17:48:17 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +unsigned int ft_strlcat(char *dest, char *src, unsigned int size) +{ + char *s1; + char *s2; + unsigned int size_dest; + + s1 = dest; + s2 = src; + size_dest = 0; + while (*s1 != '\0') + s1++; + size_dest = s1 - dest; + while (*s2 != '\0') + { + if (size != 1) + { + *s1++ = *s2++; + size--; + } + s2++; + } + *s1 = '\0'; + return (size_dest + (s2 - src)); +} diff --git a/C_Piscine_C_04/git/.gitignore b/C_Piscine_C_04/git/.gitignore new file mode 100644 index 0000000..d6d3690 --- /dev/null +++ b/C_Piscine_C_04/git/.gitignore @@ -0,0 +1,7 @@ +**/main.c +**/main.sh +**/a.out +**/a.sh +**/Makefile +**/*.swp +**/*~ diff --git a/C_Piscine_C_04/git/ex00/ft_strlen.c b/C_Piscine_C_04/git/ex00/ft_strlen.c new file mode 100644 index 0000000..aa1ad33 --- /dev/null +++ b/C_Piscine_C_04/git/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/ex01/ft_putstr.c b/C_Piscine_C_04/git/ex01/ft_putstr.c new file mode 100644 index 0000000..d62e108 --- /dev/null +++ b/C_Piscine_C_04/git/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/ex02/ft_putnbr.c b/C_Piscine_C_04/git/ex02/ft_putnbr.c new file mode 100644 index 0000000..3a0203e --- /dev/null +++ b/C_Piscine_C_04/git/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/ex03/ft_atoi.c b/C_Piscine_C_04/git/ex03/ft_atoi.c new file mode 100644 index 0000000..78568e9 --- /dev/null +++ b/C_Piscine_C_04/git/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_Shell_00/git/.gitignore b/C_Piscine_Shell_00/git/.gitignore new file mode 100644 index 0000000..c3d48d4 --- /dev/null +++ b/C_Piscine_Shell_00/git/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +mywork.c~ diff --git a/C_Piscine_Shell_00/git/ex00/z b/C_Piscine_Shell_00/git/ex00/z new file mode 100644 index 0000000..e900b1c --- /dev/null +++ b/C_Piscine_Shell_00/git/ex00/z @@ -0,0 +1 @@ +Z diff --git a/C_Piscine_Shell_00/git/ex01/testShell00.tar b/C_Piscine_Shell_00/git/ex01/testShell00.tar new file mode 100644 index 0000000..48ef30e Binary files /dev/null and b/C_Piscine_Shell_00/git/ex01/testShell00.tar differ diff --git a/C_Piscine_Shell_00/git/ex02/a b/C_Piscine_Shell_00/git/ex02/a new file mode 100644 index 0000000..2212fdb --- /dev/null +++ b/C_Piscine_Shell_00/git/ex02/a @@ -0,0 +1,9 @@ +total 56 +-rw-r--r-- 1 gbaconni 2021_lausanne 0 Aug 6 12:37 a +drwx--xr-x 2 gbaconni 2021_lausanne 68 Jun 1 20:47 test0 +-rwx--xr-- 1 gbaconni 2021_lausanne 4 Jun 1 21:46 test1 +dr-x---r-- 2 gbaconni 2021_lausanne 68 Jun 1 22:45 test2 +-r-----r-- 2 gbaconni 2021_lausanne 1 Jun 1 23:44 test3 +-rw-r----x 1 gbaconni 2021_lausanne 2 Jun 1 23:43 test4 +-r-----r-- 2 gbaconni 2021_lausanne 1 Jun 1 23:44 test5 +lrwxr-xr-x 1 gbaconni 2021_lausanne 5 Jun 1 22:20 test6 -> test0 diff --git a/C_Piscine_Shell_00/git/ex02/exo2.tar b/C_Piscine_Shell_00/git/ex02/exo2.tar new file mode 100644 index 0000000..13f032b Binary files /dev/null and b/C_Piscine_Shell_00/git/ex02/exo2.tar differ diff --git a/C_Piscine_Shell_00/git/ex02/test1 b/C_Piscine_Shell_00/git/ex02/test1 new file mode 100755 index 0000000..629d685 --- /dev/null +++ b/C_Piscine_Shell_00/git/ex02/test1 @@ -0,0 +1 @@ +4242 \ No newline at end of file diff --git a/C_Piscine_Shell_00/git/ex02/test3 b/C_Piscine_Shell_00/git/ex02/test3 new file mode 100644 index 0000000..bf0d87a --- /dev/null +++ b/C_Piscine_Shell_00/git/ex02/test3 @@ -0,0 +1 @@ +4 \ No newline at end of file diff --git a/C_Piscine_Shell_00/git/ex02/test4 b/C_Piscine_Shell_00/git/ex02/test4 new file mode 100644 index 0000000..f70d7bb --- /dev/null +++ b/C_Piscine_Shell_00/git/ex02/test4 @@ -0,0 +1 @@ +42 \ No newline at end of file diff --git a/C_Piscine_Shell_00/git/ex02/test5 b/C_Piscine_Shell_00/git/ex02/test5 new file mode 100644 index 0000000..bf0d87a --- /dev/null +++ b/C_Piscine_Shell_00/git/ex02/test5 @@ -0,0 +1 @@ +4 \ No newline at end of file diff --git a/C_Piscine_Shell_00/git/ex02/test6 b/C_Piscine_Shell_00/git/ex02/test6 new file mode 120000 index 0000000..a39c44c --- /dev/null +++ b/C_Piscine_Shell_00/git/ex02/test6 @@ -0,0 +1 @@ +test0 \ No newline at end of file diff --git a/C_Piscine_Shell_00/git/ex03/klist.txt b/C_Piscine_Shell_00/git/ex03/klist.txt new file mode 100644 index 0000000..40523a1 --- /dev/null +++ b/C_Piscine_Shell_00/git/ex03/klist.txt @@ -0,0 +1,6 @@ +Credentials cache: API:09810757-2460-4F5E-BA1C-C96952B0B1C0 + Principal: gbaconni@42LAUSANNE.CH + + Issued Expires Principal +Aug 2 09:02:44 2021 Aug 2 19:02:44 2021 krbtgt/42LAUSANNE.CH@42LAUSANNE.CH +Aug 2 09:02:46 2021 Aug 2 19:02:44 2021 HTTP/student-storage.42lausanne.ch@42LAUSANNE.CH diff --git a/C_Piscine_Shell_00/git/ex04/midLS b/C_Piscine_Shell_00/git/ex04/midLS new file mode 100644 index 0000000..b25f86f --- /dev/null +++ b/C_Piscine_Shell_00/git/ex04/midLS @@ -0,0 +1 @@ +ls -mptU diff --git a/C_Piscine_Shell_00/git/ex05/git_commit.sh b/C_Piscine_Shell_00/git/ex05/git_commit.sh new file mode 100755 index 0000000..babfc76 --- /dev/null +++ b/C_Piscine_Shell_00/git/ex05/git_commit.sh @@ -0,0 +1,2 @@ +#!/bin/sh +git log --pretty='%H' --max-count=5 diff --git a/C_Piscine_Shell_00/git/ex06/git_ignore.sh b/C_Piscine_Shell_00/git/ex06/git_ignore.sh new file mode 100755 index 0000000..421f2e9 --- /dev/null +++ b/C_Piscine_Shell_00/git/ex06/git_ignore.sh @@ -0,0 +1,2 @@ +#!/bin/sh +git ls-files --exclude-standard --ignored --others diff --git a/C_Piscine_Shell_00/git/ex07/b b/C_Piscine_Shell_00/git/ex07/b new file mode 100644 index 0000000..c2dab24 --- /dev/null +++ b/C_Piscine_Shell_00/git/ex07/b @@ -0,0 +1,11 @@ +Episode V, A NEW H0PE It is a period of civil war +Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. +During the battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the STAR DEATH, an armored space station with enough power to destroy an entire planet. + + +Pursued by the Empire's sinister agents, +Princess Mehdi races home aboard her starship, custodian of the stolen plans that can save her people and restore the dictatorship to the galaxie.. + + + + diff --git a/C_Piscine_Shell_00/git/ex08/clean b/C_Piscine_Shell_00/git/ex08/clean new file mode 100644 index 0000000..da32b1a --- /dev/null +++ b/C_Piscine_Shell_00/git/ex08/clean @@ -0,0 +1 @@ +find . -type f \( -name '*~' -o -name '#*#' \) -print -delete diff --git a/C_Piscine_Shell_00/git/ex09/ft_magic b/C_Piscine_Shell_00/git/ex09/ft_magic new file mode 100644 index 0000000..5623879 --- /dev/null +++ b/C_Piscine_Shell_00/git/ex09/ft_magic @@ -0,0 +1 @@ +41 string 42 42 file diff --git a/C_Piscine_Shell_00/git_old/.gitignore b/C_Piscine_Shell_00/git_old/.gitignore new file mode 100644 index 0000000..c3d48d4 --- /dev/null +++ b/C_Piscine_Shell_00/git_old/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +mywork.c~ diff --git a/C_Piscine_Shell_00/git_old/ex00/z b/C_Piscine_Shell_00/git_old/ex00/z new file mode 100644 index 0000000..e900b1c --- /dev/null +++ b/C_Piscine_Shell_00/git_old/ex00/z @@ -0,0 +1 @@ +Z diff --git a/C_Piscine_Shell_00/git_old/ex01/testShell00.tar b/C_Piscine_Shell_00/git_old/ex01/testShell00.tar new file mode 100644 index 0000000..48ef30e Binary files /dev/null and b/C_Piscine_Shell_00/git_old/ex01/testShell00.tar differ diff --git a/C_Piscine_Shell_00/git_old/ex02/exo2.tar b/C_Piscine_Shell_00/git_old/ex02/exo2.tar new file mode 100644 index 0000000..13f032b Binary files /dev/null and b/C_Piscine_Shell_00/git_old/ex02/exo2.tar differ diff --git a/C_Piscine_Shell_00/git_old/ex03/klist.txt b/C_Piscine_Shell_00/git_old/ex03/klist.txt new file mode 100644 index 0000000..40523a1 --- /dev/null +++ b/C_Piscine_Shell_00/git_old/ex03/klist.txt @@ -0,0 +1,6 @@ +Credentials cache: API:09810757-2460-4F5E-BA1C-C96952B0B1C0 + Principal: gbaconni@42LAUSANNE.CH + + Issued Expires Principal +Aug 2 09:02:44 2021 Aug 2 19:02:44 2021 krbtgt/42LAUSANNE.CH@42LAUSANNE.CH +Aug 2 09:02:46 2021 Aug 2 19:02:44 2021 HTTP/student-storage.42lausanne.ch@42LAUSANNE.CH diff --git a/C_Piscine_Shell_00/git_old/ex04/midLS b/C_Piscine_Shell_00/git_old/ex04/midLS new file mode 100644 index 0000000..b25f86f --- /dev/null +++ b/C_Piscine_Shell_00/git_old/ex04/midLS @@ -0,0 +1 @@ +ls -mptU diff --git a/C_Piscine_Shell_00/git_old/ex05/git_commit.sh b/C_Piscine_Shell_00/git_old/ex05/git_commit.sh new file mode 100755 index 0000000..babfc76 --- /dev/null +++ b/C_Piscine_Shell_00/git_old/ex05/git_commit.sh @@ -0,0 +1,2 @@ +#!/bin/sh +git log --pretty='%H' --max-count=5 diff --git a/C_Piscine_Shell_00/git_old/ex06/git_ignore.sh b/C_Piscine_Shell_00/git_old/ex06/git_ignore.sh new file mode 100755 index 0000000..421f2e9 --- /dev/null +++ b/C_Piscine_Shell_00/git_old/ex06/git_ignore.sh @@ -0,0 +1,2 @@ +#!/bin/sh +git ls-files --exclude-standard --ignored --others diff --git a/C_Piscine_Shell_00/git_old/ex07/b b/C_Piscine_Shell_00/git_old/ex07/b new file mode 100644 index 0000000..c2dab24 --- /dev/null +++ b/C_Piscine_Shell_00/git_old/ex07/b @@ -0,0 +1,11 @@ +Episode V, A NEW H0PE It is a period of civil war +Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. +During the battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the STAR DEATH, an armored space station with enough power to destroy an entire planet. + + +Pursued by the Empire's sinister agents, +Princess Mehdi races home aboard her starship, custodian of the stolen plans that can save her people and restore the dictatorship to the galaxie.. + + + + diff --git a/C_Piscine_Shell_00/git_old/ex08/clean b/C_Piscine_Shell_00/git_old/ex08/clean new file mode 100644 index 0000000..da32b1a --- /dev/null +++ b/C_Piscine_Shell_00/git_old/ex08/clean @@ -0,0 +1 @@ +find . -type f \( -name '*~' -o -name '#*#' \) -print -delete diff --git a/C_Piscine_Shell_00/git_old/ex09/ft_magic b/C_Piscine_Shell_00/git_old/ex09/ft_magic new file mode 100644 index 0000000..5623879 --- /dev/null +++ b/C_Piscine_Shell_00/git_old/ex09/ft_magic @@ -0,0 +1 @@ +41 string 42 42 file diff --git a/C_Piscine_Shell_01/git/ex01/print_groups.sh b/C_Piscine_Shell_01/git/ex01/print_groups.sh new file mode 100755 index 0000000..b1e2aae --- /dev/null +++ b/C_Piscine_Shell_01/git/ex01/print_groups.sh @@ -0,0 +1,2 @@ +#!/bin/sh +id -Gn $FT_USER | tr ' ' ',' | tr -d '\n' diff --git a/C_Piscine_Shell_01/git/ex02/find_sh.sh b/C_Piscine_Shell_01/git/ex02/find_sh.sh new file mode 100755 index 0000000..23709d6 --- /dev/null +++ b/C_Piscine_Shell_01/git/ex02/find_sh.sh @@ -0,0 +1,2 @@ +#!/bin/sh +find . -type f -name '*.sh' -exec basename '{}' .sh \; diff --git a/C_Piscine_Shell_01/git/ex03/count_files.sh b/C_Piscine_Shell_01/git/ex03/count_files.sh new file mode 100755 index 0000000..0ba1f38 --- /dev/null +++ b/C_Piscine_Shell_01/git/ex03/count_files.sh @@ -0,0 +1,2 @@ +#!/bin/sh +find . \( -type f -o -type d \) | wc -l | tr -d ' ' diff --git a/C_Piscine_Shell_01/git/ex04/MAC.sh b/C_Piscine_Shell_01/git/ex04/MAC.sh new file mode 100755 index 0000000..1b2e0ce --- /dev/null +++ b/C_Piscine_Shell_01/git/ex04/MAC.sh @@ -0,0 +1,2 @@ +#!/bin/sh +ifconfig | grep -oE 'ether .*' | cut -c7-23 diff --git "a/C_Piscine_Shell_01/git/ex05/\"\\?$*'MaRViN'*$?\\\"" "b/C_Piscine_Shell_01/git/ex05/\"\\?$*'MaRViN'*$?\\\"" new file mode 100644 index 0000000..f70d7bb --- /dev/null +++ "b/C_Piscine_Shell_01/git/ex05/\"\\?$*'MaRViN'*$?\\\"" @@ -0,0 +1 @@ +42 \ No newline at end of file diff --git a/C_Piscine_Shell_01/git/ex06/skip.sh b/C_Piscine_Shell_01/git/ex06/skip.sh new file mode 100755 index 0000000..a3c1df7 --- /dev/null +++ b/C_Piscine_Shell_01/git/ex06/skip.sh @@ -0,0 +1,2 @@ +#!/bin/sh +ls -l | awk '{ if ((NR + 1) % 2 == 0) print $0 }' diff --git a/C_Piscine_Shell_01/git/ex07/r_dwssap.sh b/C_Piscine_Shell_01/git/ex07/r_dwssap.sh new file mode 100755 index 0000000..b1cc600 --- /dev/null +++ b/C_Piscine_Shell_01/git/ex07/r_dwssap.sh @@ -0,0 +1,2 @@ +#!/bin/sh +grep -v "#" /etc/passwd | sed -n 'n;p' | awk -F ':' '{ print $1 }' | rev | sort -r | sed -n "${FT_LINE1-1},${FT_LINE2-42}p" | tr '\n' ' ' | sed 's/ $/./; s/ /, /g' diff --git a/C_Piscine_Shell_01/git_old/ex01/print_groups.sh b/C_Piscine_Shell_01/git_old/ex01/print_groups.sh new file mode 100755 index 0000000..b1e2aae --- /dev/null +++ b/C_Piscine_Shell_01/git_old/ex01/print_groups.sh @@ -0,0 +1,2 @@ +#!/bin/sh +id -Gn $FT_USER | tr ' ' ',' | tr -d '\n' diff --git a/C_Piscine_Shell_01/git_old/ex02/find_sh.sh b/C_Piscine_Shell_01/git_old/ex02/find_sh.sh new file mode 100755 index 0000000..23709d6 --- /dev/null +++ b/C_Piscine_Shell_01/git_old/ex02/find_sh.sh @@ -0,0 +1,2 @@ +#!/bin/sh +find . -type f -name '*.sh' -exec basename '{}' .sh \; diff --git a/C_Piscine_Shell_01/git_old/ex03/count_files.sh b/C_Piscine_Shell_01/git_old/ex03/count_files.sh new file mode 100755 index 0000000..0ba1f38 --- /dev/null +++ b/C_Piscine_Shell_01/git_old/ex03/count_files.sh @@ -0,0 +1,2 @@ +#!/bin/sh +find . \( -type f -o -type d \) | wc -l | tr -d ' ' diff --git a/C_Piscine_Shell_01/git_old/ex04/MAC.sh b/C_Piscine_Shell_01/git_old/ex04/MAC.sh new file mode 100755 index 0000000..1b2e0ce --- /dev/null +++ b/C_Piscine_Shell_01/git_old/ex04/MAC.sh @@ -0,0 +1,2 @@ +#!/bin/sh +ifconfig | grep -oE 'ether .*' | cut -c7-23 diff --git "a/C_Piscine_Shell_01/git_old/ex05/\"\\?$*'MaRViN'*$?\\\"" "b/C_Piscine_Shell_01/git_old/ex05/\"\\?$*'MaRViN'*$?\\\"" new file mode 100644 index 0000000..f70d7bb --- /dev/null +++ "b/C_Piscine_Shell_01/git_old/ex05/\"\\?$*'MaRViN'*$?\\\"" @@ -0,0 +1 @@ +42 \ No newline at end of file diff --git a/C_Piscine_Shell_01/git_old/ex06/skip.sh b/C_Piscine_Shell_01/git_old/ex06/skip.sh new file mode 100755 index 0000000..a3c1df7 --- /dev/null +++ b/C_Piscine_Shell_01/git_old/ex06/skip.sh @@ -0,0 +1,2 @@ +#!/bin/sh +ls -l | awk '{ if ((NR + 1) % 2 == 0) print $0 }' diff --git a/C_Piscine_Shell_01/git_old/ex07/r_dwssap.sh b/C_Piscine_Shell_01/git_old/ex07/r_dwssap.sh new file mode 100755 index 0000000..ea33a6e --- /dev/null +++ b/C_Piscine_Shell_01/git_old/ex07/r_dwssap.sh @@ -0,0 +1,2 @@ +#!/bin/sh +awk -F ':' '!/^#/ { n++; login=$1; rev="rev <<<"login; rev | getline revlogin; close(rev); print ((n > 1) && ((n+1) % 2 == 0))? revlogin:login }' /etc/passwd | sort -rh | tr '\n' ' ' | sed 's/ $/./; s/ /, /g;'