Разбиение на слова
Ограничения: время – 250ms/500ms, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Напишите функцию split, которой передается строка, в которой находятся несколько слов, разделенных одним пробелом.
Функция должна поместить в массив, переданный вторым аргументом, указатели на начало слов. Символы пробела (``' '``) в строке нужно заменить на нулевой символ (``'\0'``).
Последним элементом в массив нужно поместить нулевой указатель (NULL).
Напишите функцию void print(char **), которая печатает слова из массива указателей в обратном порядке.
Для этого проверяется первый указатель в массиве. Если он равен NULL, то выполнение функции заканчивается.
Иначе функция print вызывается рекурсивно для печати оставшейся части массива, а затем на отдельной строке печатается слово, на которое указывает
первый элемент массива.
Пример вызова функций:
```c
#include <stdio.h>
// определения split и print
...
int main()
{ char str[1001];
char *words[101];
scanf("%1000[^\n]",str); getchar();
split(str,words);
print(words);
}
```
В качестве решения необходимо отправить только функции split и print.