Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 29
1

Повторяющиеся слова во введёной строке

02.10.2012, 02:43. Показов 2089. Ответов 2
Метки нет (Все метки)

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

В символьной строке удалить повторяющиеся слова
В символьной строке удалить повторяющиеся слова.

В символьной строке оставить только те слова, в которых есть повторяющиеся буквы
Здравствуйте! Не могли бы вы помочь мне в решении задачи? Я уже третий день работаю,но не...

Создать программу, которая в символьной строке оставляет только те слова, в которых есть повторяющиеся символы
Помогите создать программу, которая в символьной строке оставляет только те слова, в которых есть...

Напечатать в алфавитном порядке слова исходного текста, исключив повторяющиеся слова
Напечатать в алфавитном порядке слова исходного текста, исключив повторяющиеся слова. Разделители...

2
320 / 270 / 128
Регистрация: 24.05.2012
Сообщений: 629
02.10.2012, 16:08 2
Лучший ответ Сообщение было отмечено LexProger как решение

Решение

Слова разделяются только пробелами.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <memory.h>
#include <stdio.h>
#include <stdlib.h>
 
enum {
    ARR_BUFF = 5,
    STR_BUFF = 10
};
 
int main() {
    char** a = (char**)malloc(ARR_BUFF * sizeof(char*));
    unsigned asize = ARR_BUFF, j, n = 0;
    char* buffer = (char*)malloc(STR_BUFFER * sizeof(char));
    unsigned bsize = STR_BUFF, i;
    char c;
 
    do {
        i = 0;
        while ((c = getchar()) != ' ' && c != '\n') {
            buffer[i++] = c;
            if (i == bsize)
                buffer = (char*)realloc(buffer, (bsize += STR_BUFF) * sizeof(char));
        }
        if (i) {
            for (j = 0; j < n; j++)
                if (!a[j][i] && !memcmp(a[j], buffer, i * sizeof(char))) {
                    fwrite(buffer, sizeof(char), i, stdout);
                    putchar('\n');
                    goto endloop;
                }
            a[n] = (char*)malloc((i + 1) * sizeof(char));
            memcpy(a[n], buffer, i * sizeof(char));
            a[n++][i] = '\0';
            if (n == asize)
                a = (char**)realloc(a, (asize += ARR_BUFF) * sizeof(char*));
        }
    endloop:
        ;
    } while (c != '\n');
    for (j = 0; j < n; j++)
        free(a[j]);
    free(a);
    free(buffer);
    getchar();
}
1
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 29
06.10.2012, 01:35  [ТС] 3
Кот Ангенс, спасибо огромное!!!
0
06.10.2012, 01:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2012, 01:35
Помогаю со студенческими работами здесь

Даны три слова. Напечатать их общие буквы. Повторяющиеся буквы каждого слова не рассматривать
Даны три слова. Напечатать их общие буквы. Повторяющиеся буквы каждого слова не рассматривать.

Найти в строке повторяющиеся слова
С огромным трудом разбираюсь в Лиспе, а срочно надо программу написать! Помогите, пожалуйста, кто...

Удалить повторяющиеся слова в строке
Здравствуйте! Как удалить из строки типа char, введенной с помощью cin.getline(buf, 80),...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru