From 5aa02c94b5e828cc18b6988bc6a5293895044fc8 Mon Sep 17 00:00:00 2001 From: Guy Baconniere Date: Thu, 19 Aug 2021 18:28:52 +0200 Subject: [PATCH] sync --- C_Piscine_C_07/c-07.tar | Bin 0 -> 13824 bytes C_Piscine_C_07/git/ex00/ft_strdup.c | 3 +- C_Piscine_C_07/git/ex01/ft_range.c | 18 +++++-- C_Piscine_C_07/git/ex01/main.c | 11 ++++- C_Piscine_C_07/git/ex02/ft_ultimate_range.c | 52 ++++++++++++++------ C_Piscine_C_07/git/ex03/ft_strjoin.c | 49 ++++++++++++++++++ C_Piscine_C_07/git/ex03/main.c | 40 +++++++++++++++ C_Piscine_C_07/git/ex03/main.sh | 9 ++++ 8 files changed, 157 insertions(+), 25 deletions(-) create mode 100644 C_Piscine_C_07/c-07.tar create mode 100644 C_Piscine_C_07/git/ex03/ft_strjoin.c create mode 100644 C_Piscine_C_07/git/ex03/main.c create mode 100755 C_Piscine_C_07/git/ex03/main.sh diff --git a/C_Piscine_C_07/c-07.tar b/C_Piscine_C_07/c-07.tar new file mode 100644 index 0000000000000000000000000000000000000000..2f61c773334fcd822d31a9e1c9f363c30d634369 GIT binary patch literal 13824 zcmeHNU2oeq6wRykE4a8RY&o_`$sdWD6vH|U+rxli#n6W=C}fF_x!ICI$(_5R|9$t8 zqO3U1Y^RQGv{KQCBJVx?kZ7JmUOuO^J@G}<3QnHuqLlVJ9dhE*ZnwwC31yV^yKvW+ z)9JZ{br|hCE@g}o%DU8{Cxkv%gNnGbB=sdUf%@9ZLW+XBEHUS9<0d7f?xB-8~@22g+UTeZ|{7&x8K&jxTSC^T+( z4fWqR;xk?b@Q05cF&`zln)vdAh`#SQ<`ZlMqu0h2?~N+B8;tBxmm9#M_1ZMRnSTa6 z_c4HPB==JudIaZ2n_je;OX#IX9j|*y1|Ju#&piPW)7dT0Hh_Oj!zI8A!Y(}8_uSq} zz-kro;IFz`LzzJuz`TYpO=!TKO%#}PZOf{PC>YN|POg$P6me_xx{x)C1mxb&gN(5l zEayoP-C>>;jC@(Khw1wymEmk!!)IbAGN`|@ED@y@{OD^RViDG@PgX^lSFrq5{vdfW z8>e7ifoyV3GK@Nz_~UUL)Le(yBoY7ec&Li%09~0v3({fj^p|KlOUc_58$@m<{+zh% z)+48AlLUSQCTGd%Ingbu=(?biMT@f%0|<}TX9>}Un5yNb^*|tF25dIU&uVHvhV2;x69i_82h#*`fJ=&tZE0cPQ(0x{Ck1CI8?4Wj?{9 zK(pI&3LF)6K0mwNB66{fq1bNqIA?D%@b%GiNp!T}ep3)0NPwW{g9PB|8N2*R5 zgcTss0Kl}+fHYPovd;c95@Swkf?O#zRJSUhtV-S(UFFSLcnjtkf-pkmM%*G&MKl_4 z`;4mPfa+qg{vR3tcS`>Mgyno|my-W)J!D^%1I&Nt;QSwU_muuG^8bE0|M&5smHfZt z|EoqI-~Gp91%0@Xo0;A9hx`8}|KIS4;92(nk;4P=g$;Z$fpe6C4zO*-hBGa&TTy^w z0}l*V~=h|Ff0b^(OFV^Y|YH=ybe}vl0-( zexOZR_)qm)kN+XX0HD8Oi1op(f6ZETERYQWFUh&GgTNp@g^lP(&IIy9feQKqe@Afv z!9sirXiy_inI-f|?3CEG1PwZzE{B~zx|AJSxY$rs{ AL;wH) literal 0 HcmV?d00001 diff --git a/C_Piscine_C_07/git/ex00/ft_strdup.c b/C_Piscine_C_07/git/ex00/ft_strdup.c index f3797a7..269fda9 100644 --- a/C_Piscine_C_07/git/ex00/ft_strdup.c +++ b/C_Piscine_C_07/git/ex00/ft_strdup.c @@ -6,12 +6,11 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/13 09:03:26 by gbaconni #+# #+# */ -/* Updated: 2021/08/18 18:06:07 by gbaconni ### ########.fr */ +/* Updated: 2021/08/19 15:21:48 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ #include -#include char *ft_strdup(char *src) { diff --git a/C_Piscine_C_07/git/ex01/ft_range.c b/C_Piscine_C_07/git/ex01/ft_range.c index d0ed773..916ee8b 100644 --- a/C_Piscine_C_07/git/ex01/ft_range.c +++ b/C_Piscine_C_07/git/ex01/ft_range.c @@ -6,27 +6,35 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/18 18:13:35 by gbaconni #+# #+# */ -/* Updated: 2021/08/18 18:32:22 by gbaconni ### ########.fr */ +/* Updated: 2021/08/19 16:10:59 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ #include +static int ft_abs(int n) +{ + if (n < 0) + n = -n; + return (n); +} + int *ft_range(int min, int max) { int *range; int size; int i; - if (min < max) - size = (max - min) + 1; + range = NULL; + if (min >= max) + return (range); else - return (NULL); + size = ft_abs(max - min); range = (int *) malloc(size * sizeof(int)); i = 0; while (i < size) { - range[i] = min + i; + range[i] = 1 + min + i; i++; } return (range); diff --git a/C_Piscine_C_07/git/ex01/main.c b/C_Piscine_C_07/git/ex01/main.c index 45547ca..3e9f989 100644 --- a/C_Piscine_C_07/git/ex01/main.c +++ b/C_Piscine_C_07/git/ex01/main.c @@ -6,7 +6,7 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/18 18:11:09 by gbaconni #+# #+# */ -/* Updated: 2021/08/18 18:31:33 by gbaconni ### ########.fr */ +/* Updated: 2021/08/19 16:11:21 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,6 +17,13 @@ int *ft_range(int min, int max); +static int ft_abs(int n) +{ + if (n < 0) + n = -n; + return (n); +} + int main(void) { int i; @@ -33,7 +40,7 @@ int main(void) scanf("%d", &max); result = ft_range(min, max); printf("min=%d max=%d (ft_range)\nresult:\n", min, max); - size = (max - min) + 1; + size = ft_abs(max - min); printf("size=%d\n", size); i = 0; while (i < size) diff --git a/C_Piscine_C_07/git/ex02/ft_ultimate_range.c b/C_Piscine_C_07/git/ex02/ft_ultimate_range.c index fca1d92..c23973f 100644 --- a/C_Piscine_C_07/git/ex02/ft_ultimate_range.c +++ b/C_Piscine_C_07/git/ex02/ft_ultimate_range.c @@ -6,36 +6,56 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/18 18:13:35 by gbaconni #+# #+# */ -/* Updated: 2021/08/18 18:32:22 by gbaconni ### ########.fr */ +/* Updated: 2021/08/19 16:14:34 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ #include -#include + +static int ft_abs(int n) +{ + if (n < 0) + n = -n; + return (n); +} + +int *ft_range(int min, int max) +{ + int *range; + int size; + int i; + + range = NULL; + if (min >= max) + return (range); + else + size = ft_abs(max - min); + range = (int *) malloc(size * sizeof(int)); + i = 0; + while (i < size) + { + range[i] = 1 + min + i; + i++; + } + return (range); +} int ft_ultimate_range(int **range, int min, int max) { int *r; int size; - int i; (void) range; - if (min < max) - size = (max - min) - 2; - else + r = NULL; + size = 0; + if (min >= max) { - r = NULL; *range = r; - return (0); - } - r = (int *) malloc(size * sizeof(int)); - i = 0; - while (i < size) - { - r[i] = min + i + 1; - i++; + return (size); } + else + size = ft_abs(max - min); + r = ft_range(min, max); *range = r; - printf("size=%d min=%d max=%d\n", size, min, max); return (size); } diff --git a/C_Piscine_C_07/git/ex03/ft_strjoin.c b/C_Piscine_C_07/git/ex03/ft_strjoin.c new file mode 100644 index 0000000..adcc951 --- /dev/null +++ b/C_Piscine_C_07/git/ex03/ft_strjoin.c @@ -0,0 +1,49 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strjoin.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/19 11:25:51 by gbaconni #+# #+# */ +/* Updated: 2021/08/19 17:54:51 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include + +static int ft_strlen(char *str) +{ + int len; + + len = 0; + while (str[len++] != '\0') + continue ; + return (len); +} + +char *ft_strjoin(int size, char **strs, char *sep) +{ + char *str; + int len; + int i; + + len = 0; + len = strlen(sep); + printf("strlen %d", len); + len = 0; + len = ft_strlen(sep); + printf("ft_strlen %d", len); + len = 0; + i = 0; + while (i < size) + { + len += ft_strlen(strs[i]) - 1; + len += ft_strlen(sep) - 1; + } + printf("len=%d\n", len); + str = (char *) malloc(len * sizeof(char)); + return (str); +} diff --git a/C_Piscine_C_07/git/ex03/main.c b/C_Piscine_C_07/git/ex03/main.c new file mode 100644 index 0000000..ebe984d --- /dev/null +++ b/C_Piscine_C_07/git/ex03/main.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: gbaconni +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2021/08/19 11:11:01 by gbaconni #+# #+# */ +/* Updated: 2021/08/19 18:28:17 by gbaconni ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +char *ft_strjoin(int size, char **strs, char *sep); + +int main(void) +{ + int i; + char *sep; + char **strs; + char *result; + + sep = ""; + strs = malloc(3 * sizeof(strs)); + i = 0; + while (i < 3) + { + printf("Input String #%d: ", i + 1); + scanf("%s", strs++); + } + printf("Input Separator: "); + scanf("%s", sep); + result = ft_strjoin(i, strs, sep); + printf("result=%s sep=%s (ft_strjoin)\nresult:\n", result, sep); + return (0); +} diff --git a/C_Piscine_C_07/git/ex03/main.sh b/C_Piscine_C_07/git/ex03/main.sh new file mode 100755 index 0000000..5481183 --- /dev/null +++ b/C_Piscine_C_07/git/ex03/main.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -e +rm -f a.out +#norminette -R CheckForbiddenSourceHeader +norminette -R CheckForbiddenSourceHeader ft_*.c +gcc -Wall -Wextra -Werror -o a.out ft_*.c main.c +echo $(basename $PWD): +./a.out +rm -f a.out