Строка: во вводимом с клавиатуры тексте выбрать слова, заканчивающиеся согласной буквой, и вывести их на экран - C (СИ)

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

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

Есть задание : Написать программу, которая во вводимом с клавиатуры тексте выберет слова, заканчивающиеся согласной буквой, и выведет их на экран. Написал код, но при запуске, после введения строки программа зависает
Листинг программы
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <cstring>
  4. #include <cstdio>
  5. #include <cctype>
  6. #include <vector>
  7. #include <string>
  8. #include <cmath>
  9. #include <queue>
  10. #include <deque>
  11. #include <set>
  12. #include <map>
  13. int main () {
  14. char* s[10000];
  15. int i,n = 0, k = 0;
  16. scanf("%c", &s);
  17. while (*s[i] != '/0'){
  18. if (int(*s[i]) == 32){
  19. if ((*s[i-1] != 'A') || (*s[i-1] != 'E') || (*s[i-1] != 'I') || (*s[i-1] != 'O') ||
  20. (*s[i-1] != 'U') || (*s[i-1] != 'a') || (*s[i-1] != 'e') || (*s[i-1] != 'i') ||
  21. (*s[i-1] != 'o') || (*s[i-1] != 'u')) {
  22. for (int j = k; j = i-1; j++){
  23. printf("%s", *s[i]);
  24. }
  25. }
  26. k = i + 1;
  27. }
  28. i++ ;
  29. }
  30. printf("%d", &n);
  31. system("pause");
  32. return 0;
  33. }

Решение задачи: «Строка: во вводимом с клавиатуры тексте выбрать слова, заканчивающиеся согласной буквой, и вывести их на экран»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. #include <string.h>
  4. #define VAL 100
  5.  
  6. void fill_arr(char[], int, int);
  7. void print_consend(char[]);
  8.  
  9. int main(void) {
  10.     char arr[VAL] = {0};
  11.     fill_arr(arr, VAL, '\n');
  12.     print_consend(arr);
  13.  
  14.     return 0;
  15. }
  16.  
  17. void fill_arr(char arr[], int number, int mark) {
  18.     int i;
  19.     for (i=0; mark != (arr[i]=getchar()) && i < number-1; i++)
  20.         ;
  21.     arr[i]=0;
  22. }
  23.  
  24. void print_consend(char arr[]) {
  25.     char *runner, *saver;
  26.     int rc;
  27.     char str[] = "bcdfghjklmnpqrstvwxz";
  28.     runner = saver = arr;
  29.     rc = 0;
  30.     while (1) {
  31.         switch (*(runner+rc)) {
  32.             case '.':
  33.             case ',':
  34.             case '?':
  35.             case '!':
  36.             case ':':
  37.             case ';':
  38.             case ' ':
  39.                 if (strchr( str, tolower(*(runner+rc-1)))) {
  40.                     saver = runner+rc-1;
  41.                     while (runner<=saver)
  42.                         putchar(*(runner++));
  43.                 putchar('\n');
  44.                 }
  45.                 rc = 0;
  46.                 runner++;
  47.                 break;
  48.             case '\0':
  49.                 if (strchr( str, tolower(*(runner+rc-1)))) {
  50.                     saver = runner+rc-1;
  51.                     while (runner<saver)
  52.                         putchar(*(runner++));
  53.                 }
  54.                 return;
  55.             default :
  56.                 rc++;
  57.         }
  58.     }
  59. }

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


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

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

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

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

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

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