diff --git a/.resources/rank02/level1/last_word/last_word.c b/.resources/rank02/level1/last_word/last_word.c index aed0ff2..8333ab6 100644 --- a/.resources/rank02/level1/last_word/last_word.c +++ b/.resources/rank02/level1/last_word/last_word.c @@ -1,27 +1,27 @@ - #include -int main(int ac, char **av) +void last_word(char *str) { - int i; + int j = 0; + int i = 0; - i = 0; - if (ac == 2) + while (str[i]) + { + if (str[i] == ' ' && str[i + 1] >= 33 && str[i + 1] <= 126) + j = i + 1; + i++; + } + while (str[j] >= 33 && str[j] <= 127) { - while (av[1][i] != '\0') - i++; - i--; - while ((av[1][i] == ' ' || av[1][i] == '\t') && i != 0) - i--; - while (av[1][i] != ' ' && av[1][i] != '\t' && i != 0) - i--; - if (av[1][i] == ' ' || av[1][i] == '\t') - i++; - while (av[1][i] != '\0' && av[1][i] != ' ' && av[1][i] != '\t') - { - write(1, &av[1][i], 1); - i++; - } + write(1, &str[j], 1); + j++; } +} + +int main(int argc, char **argv) +{ + if (argc == 2) + last_word(argv[1]); write(1, "\n", 1); -} \ No newline at end of file + return (0); +}