Advertisement
Guest User

какого хуя ты не работаешь, проститутка шаболда

a guest
Nov 24th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.94 KB | None | 0 0
  1. struct SentenceArray *getAllSentencesArrayNew(const char *str) {
  2.     int numOfSen = 0;
  3.     int startOfSen = 0;
  4.     int bindex = 0;
  5.     struct SentenceArray * newSentArray = malloc(sizeof(struct SentenceArray));
  6.     for (int i = 0; i < strlen(str); i++)
  7.     {
  8.         if (str[i] == ' ')
  9.         {
  10.             do
  11.             {
  12.                 i++;
  13.             } while (!(isalpha(str[i])) && str[i] != '\0');
  14.             startOfSen = i;
  15.             break;
  16.         }
  17.         else
  18.             break;
  19.     }
  20.     for (int i = 0; i < strlen(str); i++)
  21.     {
  22.         if ((str[i] == '.' || str[i] == '!' || str[i] == '?') && (str[i + 1] != '.' && str[i + 1] != '?' && str[i + 1] != '!'))
  23.         {
  24.             numOfSen++;
  25.         }
  26.     }
  27.     for (int i = 0; i < numOfSen; i++)
  28.     {
  29.         puts("**ITERATION**");
  30.         printf("%i\n", startOfSen);
  31.         char bstring[128] = "";
  32.         newSentArray->sentences = calloc(1, sizeof(struct SentenceArray));
  33.         for (int j = startOfSen; j < strlen(str); j++)
  34.         {
  35.             if (str[j] == '.' || str[j] == '\0' || str[j] == '!' || str[j] == '?')
  36.             {
  37.                 puts("LOG1");
  38.                 bstring[bindex] = '\0';
  39.                 bindex = 0;
  40.                 puts("LOG2");
  41.                 newSentArray->sentences[i].indexOfStart = startOfSen;
  42.                 puts("LOG3");
  43.                 startOfSen = j + 1;
  44.                 printf("%i\n", startOfSen);
  45.                 puts("LOG4");
  46.                 puts(bstring);
  47.                 strcpy(newSentArray->sentences[i].string, bstring);
  48.                 break;
  49.             }
  50.             else
  51.             {
  52.                 puts("LOG5");
  53.                 bstring[bindex] = str[j];
  54.                 printf("LOG6\t%s\n", bstring);
  55.                 bindex++;
  56.             }
  57.         }
  58.     }
  59.    
  60.     newSentArray->numOfSentences = numOfSen;
  61.     free(newSentArray->sentences);
  62.     free(newSentArray);
  63.     return newSentArray;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement