вторник, 23 апреля 2013 г.

удалить одинаковые слова предложения, идущие подряд.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main()
{
    char str[256]={'\0'}, fin[256]={0};
    char *cur = NULL, *prev = NULL;
    int equals, repeat = 0;
 
    //clrscr();
    printf("input_string: ");
    gets(str);
 
    cur = strtok(str," ");
    prev = cur;
 
    while (cur != NULL)
    {
        cur = strtok(NULL," ");
 
        equals = (cur && (strcmp(prev, cur) == 0));
 
        if(!equals && !repeat)
        {
            strcat(fin, prev);
            strcat(fin, " ");
        }
 
        repeat = equals;
 
        prev = cur;
    }
    printf("finish_string: %s\n", fin);
 
    getchar();
 
    return 0;
}

Комментариев нет:

Отправить комментарий