0 / 0 / 0
Регистрация: 23.02.2018
Сообщений: 2
1

В каждой строке для всех слов, которые встречаются в строке больше одного раза, оставить только первое вхождение

01.05.2018, 16:39. Показов 2170. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, помогите
Нужно в каждой строке для всех слов, которые встречаются в строке больше одного раза,
оставить только первое вхождение.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2018, 16:39
Ответы с готовыми решениями:

Найти элементы в строке двухмерного массива которые встречаются в данной строке более одного раза
В i-й строке двумерного массива найти и вывести в ОДНОЙ (!) строке - элементы, которые...

Дана символьная строка. Если какой-то символ в ней встречается более одного раза, оставить только первое вхождение
Народ.помогите решить задачку Дана символьная строка. Если какой-то символ в ней встречается более...

Оставить в строке только первое и последнее вхождение цифр каждого слова
Дана строка s, оставить в ней только первое и последнее вхождение цифр каждого слова, распечатать...

Строки: Дана последовательность символов(строка). Если какой-то элемент встречается в ней более одного раза, оставить только первое вхождение
помогите решить.. Дана последовательность символов(строка). Если какой-то элемент встречается в ней...

2
1858 / 1079 / 683
Регистрация: 25.04.2016
Сообщений: 3,036
01.05.2018, 16:56 2
И в чем конкретно у вас трудности?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11885 / 7258 / 1720
Регистрация: 25.07.2009
Сообщений: 13,276
01.05.2018, 20:39 3
Лучший ответ Сообщение было отмечено Mysouldark как решение

Решение

C
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
#include <stdio.h>
#include <string.h>
#include <glib.h>
 
#define DELIM " ,.!?\t\n"
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
        GSList * list = NULL, * iter;
        char * ptr = strtok(buf, DELIM);
        
        for ( ; ptr; ptr = strtok(NULL, DELIM) )
            if ( ! g_slist_find_custom(list, ptr, (GCompareFunc)strcmp) )
                list = g_slist_append(list, ptr);
        
        for ( iter = list; iter; iter = g_slist_next(iter) )
            printf("%s ", (char*)(iter->data));
        printf("\n");
        
        g_slist_free(list);
    }
    
    return 0;
}
Код
[andrew@easybook strings]$ gcc -Wall words_by_one.c $(pkg-config --cflags --libs glib-2.0)
[andrew@easybook strings]$ ./a.out 
String: jingle bells jingle bells jingle all the way
jingle bells all the way 
String: 
[andrew@easybook strings]$
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2018, 20:39
Помогаю со студенческими работами здесь

Оставить в строке только первое вхождение каждого символа. Взаимный порядок оставленных символов сохранить
Решил данную задачу так: //Оставить в строке только первое вхождение каждого символа. Взаимный...

Определить, какие буквы встречаются в строке больше одного раза
Дана строка состоящая из строчных букв английского алфавита. Необходимо определить какие буквы...

Оставить в строке только те символы, которые встречаются один раз
Где ошибка??? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string.h&gt; using namespace...

Оставить в строке только те символы в которые входят в нее по 2 раза
Вводится некая строка с символами. Оставить в строке только те символы в которые входят в нее по 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru