Из заданной строки символов удалить слова, длина которых меньше указанной пользователем - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Из заданной строки символов удалить слова, длина которых меньше указанной пользователем
Листинг программы
  1. int n, i=1, j=0, k=0;
  2. char str [80];
  3. puts("Input string:");
  4. gets(str);
  5. puts(str);
  6. puts("");
  7. cout<<"dlina="; cin>>n;
  8. k=strlen (str);
  9. printf("\nLength of string %d \n",k);
  10. while (i<k)
  11. { if (str[i]!= ' ' ) {i++; j++;}
  12. else {
  13. if (j<n) {
  14. for(int b=i-j; b<k-j; b++)
  15. str[b]=str[b+1];
  16. str[k-j+1]='\0';
  17. k=strlen(str);
  18. j=0;
  19. }
  20. else {i++; j=0;}
  21. }
  22. }
  23. puts(str);
  24. puts("");
  25. system("pause");
  26. return 0;
  27. }
Помогите написать цикл

Решение задачи: «Из заданной строки символов удалить слова, длина которых меньше указанной пользователем»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6. int n, i;
  7.     char str [80];
  8.     char rez[80]={'\0'};
  9.     char *tmp;
  10.    puts("Input string:");
  11.   gets(str);
  12.   puts(str);
  13.   puts("");
  14.   puts("dlina=");
  15.   scanf("%d",&n);
  16.   printf("\nLength of string %d \n",strlen (str));
  17.  
  18.  tmp = strtok(str, " ");
  19.  for (i = 0; tmp != '\0'; i++)
  20.  {
  21.     if(strlen(tmp)>n)
  22.     {
  23.         strcat(rez, tmp);
  24.         strcat(rez," ");
  25.     }
  26.  tmp = strtok(NULL, " ");
  27.  }
  28.  
  29.   puts(rez);
  30.   puts("");
  31.  
  32.   return 0;
  33. }

Объяснение кода листинга программы

В этом коде выполняется следующая последовательность действий:

  1. Ввод строки с помощью функции gets().
  2. Вывод введённой строки с помощью функции puts().
  3. Ввод длины слова, которое необходимо удалить с помощью функции scanf().
  4. Вывод длины введённой строки с помощью функции printf().
  5. Выделение первого слова в строке с помощью функции strtok().
  6. Итерация по всем словам в строке с помощью цикла for и функции strtok().
  7. Проверка длины текущего слова с помощью условия if.
  8. Если длина слова больше или равна указанной пользователем длине, то добавление этого слова в результирующую строку с помощью функции strcat().
  9. Добавление пробела после каждого слова в результирующую строку.
  10. Вывод результирующей строки с помощью функции puts().
  11. Возврат 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы