Так что я должен выполнить алгоритм сортировки как домашнее задание CS.
Он должен прочитать произвольное количество слов, каждое из которых заканчивается на \ n.После того, как он прочитает «.», Он должен напечатать слова в алфавитном порядке.
Например: ВХОД: яблоко собака австрия Яблоко
ВЫХОД: яблоко яблоко австрийская собака
Iхочу сохранить слова в структуре.Я думаю, что для работы с произвольным числом слов я должен создать массив структур.
До сих пор я пытался создать структуру typedef только с одним членом (строкой) и планировал создатьмассив структур из этого, в который я затем сохраню каждое из слов.
Что касается "случайности" количества слов, я хотел установить тип структуры в main после выяснения, сколькослова были написаны, а затем сохранены каждое слово в каждом элементе массива структуры.
Моя проблема: 1. Я не знаю, как узнать количество слов.Единственное, что я попробовал, - это создание функции, которая подсчитывает, сколько раз происходило '\ n', хотя это не очень хорошо работало.
Что касается структуры данных, я придумал, что структура имеет толькоодин строковый член:
typedef struct{
char string[MAX];
}sort;
затем в основной функции я сначала читаю количество слов, которые должны прийти (не фактическое назначение, а только в целях обеспечения работы кода)
и после"len" Я объявил переменную типа sort:
int main(){
/*code, scanf("%d", &len) and stuff*/
sort sort_t[len];
for(i = 0; i < len; i++){
scanf("%s", sort_t[i].string);
}
Вопрос: Является ли такая вещь "законной" и я использую хороший подход?
Q2: Как мне добраться дознать количество слов для хранения (для массива структур), прежде чем я начну их хранить?