diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-07-07 15:29:30 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-07-07 15:29:30 +0200 |
| commit | a2ef228b981df5ad417a0e8377e1e832002a7644 (patch) | |
| tree | 32827b5be808bf3123d46856bb753fc190fd3611 /c06 | |
| parent | 79f8ba0b777f3361002ed2ae0c6c6f8f353ca731 (diff) | |
| download | piscine-a2ef228b981df5ad417a0e8377e1e832002a7644.tar.gz piscine-a2ef228b981df5ad417a0e8377e1e832002a7644.tar.bz2 piscine-a2ef228b981df5ad417a0e8377e1e832002a7644.zip | |
c04/c05 testing + c06
Diffstat (limited to 'c06')
| -rwxr-xr-x | c06/bonjour | bin | 0 -> 8432 bytes | |||
| -rw-r--r-- | c06/ex00/ft_print_program_name.c | 23 | ||||
| -rw-r--r-- | c06/ex01/ft_print_params.c | 31 | ||||
| -rw-r--r-- | c06/ex02/ft_rev_params.c | 28 | ||||
| -rw-r--r-- | c06/ex03/ft_sort_params.c | 77 |
5 files changed, 159 insertions, 0 deletions
diff --git a/c06/bonjour b/c06/bonjour Binary files differnew file mode 100755 index 0000000..2b50ec2 --- /dev/null +++ b/c06/bonjour diff --git a/c06/ex00/ft_print_program_name.c b/c06/ex00/ft_print_program_name.c new file mode 100644 index 0000000..3e0ada3 --- /dev/null +++ b/c06/ex00/ft_print_program_name.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_program_name.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/07 14:53:06 by cacharle #+# #+# */ +/* Updated: 2019/07/07 14:56:01 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include <unistd.h> + +int main(int argc, char **argv) +{ + while (**argv) + { + write(1, *argv, 1); + (*argv)++; + } + return (0); +} diff --git a/c06/ex01/ft_print_params.c b/c06/ex01/ft_print_params.c new file mode 100644 index 0000000..29806db --- /dev/null +++ b/c06/ex01/ft_print_params.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_print_params.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/07 14:57:09 by cacharle #+# #+# */ +/* Updated: 2019/07/07 15:01:02 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include <unistd.h> + +int main(int argc, char **argv) +{ + int i; + + i = 1; + while (i < argc) + { + while (*argv[i]) + { + write(1, argv[i], 1); + argv[i]++; + } + write(1, "\n", 1); + i++; + } + return (0); +} diff --git a/c06/ex02/ft_rev_params.c b/c06/ex02/ft_rev_params.c new file mode 100644 index 0000000..fe64949 --- /dev/null +++ b/c06/ex02/ft_rev_params.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_rev_params.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/07 15:02:56 by cacharle #+# #+# */ +/* Updated: 2019/07/07 15:10:34 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include <unistd.h> + +int main(int argc, char **argv) +{ + while (argc > 1) + { + argc--; + while (*argv[argc]) + { + write(1, argv[argc], 1); + argv[argc]++; + } + write(1, "\n", 1); + } + return (0); +} diff --git a/c06/ex03/ft_sort_params.c b/c06/ex03/ft_sort_params.c new file mode 100644 index 0000000..01f64db --- /dev/null +++ b/c06/ex03/ft_sort_params.c @@ -0,0 +1,77 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_sort_params.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/07 15:12:51 by cacharle #+# #+# */ +/* Updated: 2019/07/07 15:27:49 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include <unistd.h> + +int ft_strcmp(char *s1, char *s2) +{ + while (*s1 == *s2 && *s1 && *s2) + { + s1++; + s2++; + } + return (*s1 - *s2); +} + +int is_sorted(char **argv, int argc) +{ + int i; + + i = 0; + while (i < argc - 1) + { + if (ft_strcmp(argv[i], argv[i + 1]) > 0) + return (0); + i++; + } + return (1); +} + +void sort_argv(char **argv, int argc) +{ + int i; + char *tmp; + + while (!is_sorted(argv, argc)) + { + i = 0; + while (i < argc - 1) + { + if (ft_strcmp(argv[i], argv[i + 1]) > 0) + { + tmp = argv[i]; + argv[i] = argv[i + 1]; + argv[i + 1] = tmp; + } + i++; + } + } +} + +int main(int argc, char **argv) +{ + sort_argv(argv, argc); + int i; + + i = 1; + while (i < argc) + { + while (*argv[i]) + { + write(1, argv[i], 1); + argv[i]++; + } + write(1, "\n", 1); + i++; + } + return (0); +} |
