diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-07-21 15:26:32 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-07-21 15:26:32 +0200 |
| commit | 23ad79e8b41c25bb4992d103d29a17612a52e351 (patch) | |
| tree | 9de3cde07cc38e59f08885171e9f99eeab8ab71b /c11 | |
| parent | 8b6e91bdb56bc01a588718472546f2a88e750b48 (diff) | |
| download | piscine-23ad79e8b41c25bb4992d103d29a17612a52e351.tar.gz piscine-23ad79e8b41c25bb4992d103d29a17612a52e351.tar.bz2 piscine-23ad79e8b41c25bb4992d103d29a17612a52e351.zip | |
c10 done, c11 on going, rush02 probably finished, bsq start
Diffstat (limited to 'c11')
| -rw-r--r-- | c11/ex04/ft_is_sort.c | 8 | ||||
| -rw-r--r-- | c11/ex06/ft_sort_string_tab.c | 12 | ||||
| -rw-r--r-- | c11/ex07/ft_advanced_sort_string_tab.c | 2 | ||||
| -rw-r--r-- | c11/main.c | 33 |
4 files changed, 36 insertions, 19 deletions
diff --git a/c11/ex04/ft_is_sort.c b/c11/ex04/ft_is_sort.c index 84d4fe0..7e95ba2 100644 --- a/c11/ex04/ft_is_sort.c +++ b/c11/ex04/ft_is_sort.c @@ -6,11 +6,11 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/16 21:39:43 by cacharle #+# #+# */ -/* Updated: 2019/07/18 21:19:29 by cacharle ### ########.fr */ +/* Updated: 2019/07/19 07:37:39 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -static is_sort_asc(int *tab, int length, int (*f)(int, int)) +static int is_sort_asc(int *tab, int length, int (*f)(int, int)) { int i; @@ -24,7 +24,7 @@ static is_sort_asc(int *tab, int length, int (*f)(int, int)) return (1); } -static is_sort_dsc(int *tab, int length, int (*f)(int, int)) +static int is_sort_dsc(int *tab, int length, int (*f)(int, int)) { int i; @@ -38,7 +38,7 @@ static is_sort_dsc(int *tab, int length, int (*f)(int, int)) return (1); } -int ft_is_sort(int *tab, int length, int (*f)(int, int)) +int ft_is_sort(int *tab, int length, int (*f)(int, int)) { return (is_sort_dsc(tab, length, f) || is_sort_asc(tab, length, f)); } diff --git a/c11/ex06/ft_sort_string_tab.c b/c11/ex06/ft_sort_string_tab.c index c10feaa..4fadff4 100644 --- a/c11/ex06/ft_sort_string_tab.c +++ b/c11/ex06/ft_sort_string_tab.c @@ -6,7 +6,7 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/16 21:48:20 by cacharle #+# #+# */ -/* Updated: 2019/07/18 11:04:01 by cacharle ### ########.fr */ +/* Updated: 2019/07/19 07:27:31 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,14 +22,14 @@ int ft_strcmp(char *s1, char *s2) return (*s1 - *s2); } -int is_sorted(char **argv) +int is_sorted(char **tab) { int i; - i = 1; - while (argv[i + 1] != NULL) + i = 0; + while (tab[i + 1] != NULL) { - if (ft_strcmp(argv[i], argv[i + 1]) > 0) + if (ft_strcmp(tab[i], tab[i + 1]) > 0) return (0); i++; } @@ -43,7 +43,7 @@ void ft_sort_string_tab(char **tab) while (!is_sorted(tab)) { - i = 1; + i = 0; while (tab[i + 1] != NULL) { if (ft_strcmp(tab[i], tab[i + 1]) > 0) diff --git a/c11/ex07/ft_advanced_sort_string_tab.c b/c11/ex07/ft_advanced_sort_string_tab.c index efcfb37..96c303d 100644 --- a/c11/ex07/ft_advanced_sort_string_tab.c +++ b/c11/ex07/ft_advanced_sort_string_tab.c @@ -6,7 +6,7 @@ /* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/07/16 21:51:06 by cacharle #+# #+# */ -/* Updated: 2019/07/18 11:03:31 by cacharle ### ########.fr */ +/* Updated: 2019/07/19 07:27:53 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -13,6 +13,7 @@ void f_fe(int x); int f_ma(int x); int f_len(char *x); int f_cou(char *x); +int f_sor_dsc(int x, int y); int f_sor(int x, int y); int f_lensort(char *a, char *b); @@ -43,21 +44,30 @@ int main() printf("\n------------------------\n"); int sorted[10] = {1, 2, 3, 4, 5, 5, 6}; - printf("sorted %d", ft_is_sort(sorted, 6, &f_sor)); + printf("sorted asc %d\n", ft_is_sort(sorted, 6, &f_sor)); + int sorted_dsc[10] = {7, 6, 4, 1, 0, -10}; + printf("sorted dsc %d", ft_is_sort(sorted_dsc, 6, &f_sor_dsc)); + printf("\n------------------------\n"); - char **a = malloc(sizeof(char*) * 5); + char **a = malloc(sizeof(char*) * 8); a[0] = malloc(sizeof(char) * 32); a[1] = malloc(sizeof(char) * 32); a[2] = malloc(sizeof(char) * 32); a[3] = malloc(sizeof(char) * 32); - strcpy(a[0], "bonjour"); - strcpy(a[1], "je"); - strcpy(a[2], "suis"); - strcpy(a[3], "charles"); - a[4] = NULL; + a[4] = malloc(sizeof(char) * 32); + a[5] = malloc(sizeof(char) * 32); + a[6] = malloc(sizeof(char) * 32); + strcpy(a[0], "dQ4ilBI6T$"); + strcpy(a[1], "16Tz2R$"); + strcpy(a[2], "4zQplLtBc$"); + strcpy(a[3], "7$"); + strcpy(a[4], "7hE84k$"); + strcpy(a[5], "841SqkO$"); + strcpy(a[6], "ItM$"); + a[7] = NULL; ft_sort_string_tab(a); - for (int i = 0; i < 5; i++) + for (int i = 0; i < 7; i++) printf("%s\n", a[i]); printf("\n------------------------\n"); @@ -102,6 +112,13 @@ int f_cou(char *x) return counter > 2; } +int f_sor_dsc(int x, int y) +{ + if (x == y) + return (0); + return x > y ? -1 : 1; +} + int f_sor(int x, int y) { if (x == y) |
