Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Mysouldark
0 / 0 / 0
Регистрация: 23.02.2018
Сообщений: 2
1

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

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

Народ, помогите
Нужно в каждой строке для всех слов, которые встречаются в строке больше одного раза,
оставить только первое вхождение.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2018, 16:39
Ответы с готовыми решениями:

В строках матрицы оставить элементы, которые встречаются более одного раза, остальные заменить нулем
Изменить таблицу a так чтобы в строках остались элементы которые встречаются более одного раза,...

В символьной строке оставить только те слова, в которых встречаются подряд идущие одинаковые буквы
Задача такая: В символьной строке оставить только те слова, в которых встречаются подряд идущие...

В символьной строке оставить только те слова, которые состоят только из разных букв
Мне дали такое задание В символьной строке оставить только те слова, которые состоят только из...

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

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

2
stake-k26
618 / 432 / 332
Регистрация: 25.04.2016
Сообщений: 1,218
01.05.2018, 16:56 2
И в чем конкретно у вас трудности?
0
easybudda
Модератор
Эксперт CЭксперт С++
10251 / 6140 / 1546
Регистрация: 25.07.2009
Сообщений: 11,689
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2018, 20:39

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru