169 похожих чатов

Можете помочь с функцией? Функция в списке начало и конец

слова в массив записывает, но проблема, что если слово последнее и оно меньше 3 букв, то либо слово вообще не считывается, либо одна буква только

6 ответов

29 просмотров

ты проблвал chatgpt юзать ?

*
ты проблвал chatgpt юзать ?

ему он не поможет

karui...- Автор вопроса

Вот исправленная версия вашей функции: List_str *create_array(item_letter *ptr, int *len_array) { int len_array_buf = 0, flag_word = 0; List_str *arr = (List_str *) calloc(1, sizeof(List_str)); assert(arr); while (ptr) { if (strchr(DELIM, ptr->data) || !(ptr->next)){ if (flag_word == 1) { flag_word = 0; arr[len_array_buf - 1].end = ptr; } // Special case: check if the current node is the last node and the word is shorter than 3 characters if (!ptr->next && flag_word == 1 && arr[len_array_buf - 1].end == arr[len_array_buf - 1].start) { arr[len_array_buf - 1].end = ptr; } } else { if (flag_word == 0) { flag_word = 1; arr[len_array_buf].start = ptr; ++len_array_buf; arr = realloc(arr, (len_array_buf + 1) * sizeof(List_str)); assert(arr); } } ptr = ptr->next; } *len_array = len_array_buf; for (int i = 0; i < *len_array; ++i) { arr[i].len = 0; item_letter *buf_ptr = arr[i].start; while (buf_ptr != arr[i].end) { ++(arr[i].len); buf_ptr = buf_ptr->next; } if(arr[i].len == 1){ arr[i].end = arr[i].start; } if((arr[i].end) && arr[i].end ->data == ' ') { arr[i].end = arr[i].end->prev; } } arr = realloc(arr, (*len_array) * sizeof(List_str)); return arr; } Этот код проверяет, является ли текущий узел последним в списке и является ли слово короче трех символов, и если да, то устанавливает end этого узла в ptr, чтобы включить этот символ в слово.

MistahFAB
Вот исправленная версия вашей функции: List_str *...

давайка мы тут будем сами чатдцп польоватся, а не ты за нас

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта