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

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

16.10.2011, 22:20. Просмотров 980. Ответов 6
Метки нет (Все метки)

Здраствуйте.
Помогите пожалуйста с написанием программы на С (не ++).

"Введите предложение. Слова предложения, содержащие две или более одинаковые буквы переместить в другое предложение."

Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2011, 22:20
Ответы с готовыми решениями:

Найти в тексте слова, содержащие две одинаковые буквы, стоящие рядом
Имеется строка текста (на любом языке) из нескольких слов, разделённых...

Вывести на экран все слова данного предложения, содержащие два или более одинаковых символа
С клавиатуры вводится строка символов, представляющая собой предложение со...

Упорядочить по алфавиту буквы каждого слова и удалить слова, содержащие одинаковые буквы
Преобразовать данное предложение, упорядочив по алфавиту буквы каждого слова и...

В строке найти слова содержащие ровно две буквы d
Дана строка, в которой слова разделены одним пробелом. Напечатать все слова ,...

В предложении найти и вывести на экран все слова, содержащие ровно две буквы “d”
Всем привет! Помогите написать программу! В предложении найти и вывести на...

6
Dekio
Фрилансер
Эксперт С++
5838 / 1219 / 499
Регистрация: 23.11.2010
Сообщений: 3,377
Записей в блоге: 1
16.10.2011, 22:25 2
В чем проблема? Разбиваем строку на токены, считаем количество одинаковых букв
0
NinGAZ
14 / 14 / 4
Регистрация: 27.07.2011
Сообщений: 162
16.10.2011, 22:29 3
хм,ну тут нужно парсить строку через пробел,а вот там через подстроки проверку на повторяющиеся символы.
0
Savard
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 4
16.10.2011, 22:29  [ТС] 4
Цитата Сообщение от Dekio Посмотреть сообщение
В чем проблема? Разбиваем строку на токены, считаем количество одинаковых букв
Проблема в том, что не получается создать цикл для рассмотрения каждого слова. Пытался рассматривать каждый символ строки по отдельности (отсекая область просмотра пробелами по оба конца), но ничего путного не вышло.
0
Net_Wanderer
235 / 208 / 29
Регистрация: 08.06.2011
Сообщений: 467
16.10.2011, 23:08 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <stdio.h>
#include <string.h>
 
#define DELIM " .,:;?!\n"
#define MAXLINE  1000
 
int iscmpofunique(char *s);
 
int main()
{
    char line[MAXLINE], *p;
 
    printf("enter a sentence: ");
    fgets(line, MAXLINE, stdin);
    for (p = strtok(line, DELIM);
        p != NULL;
        p = strtok(NULL, DELIM))
            if (iscmpofunique(p))
                printf("%s ", p);
    putchar('\n');
    return 0;
}
 
/*
 * iscmpofunique: checks whether s is
 * composed of only unique characters 
 */
int iscmpofunique(char *s)
{
    char *r, *t;
 
    for (t = s; *t != '\0'; t++)
        for (r = t + 1; *r; r++)
            if (*t == *r)
                return 0;
    return 1;
}
1
Savard
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 4
17.10.2011, 16:46  [ТС] 6
Большое Спасибо!
0
easybudda
Модератор
Эксперт CЭксперт С++
10105 / 6014 / 1507
Регистрация: 25.07.2009
Сообщений: 11,399
17.10.2011, 18:07 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

немного по-другому:
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
#include <stdio.h>
#include <string.h>
    
#define STR_LEN 256
#define STR_MASK "%255[^\n]%*c"
#define DELIM " ,.!?;:\t"
 
int have_doubling_chars(const char * wrd){
    return ( *wrd ) ? ( strchr(wrd + 1, *wrd) ) ? 1 : have_doubling_chars(wrd + 1) : 0;
}
 
int main(void){
    char str[STR_LEN], * p;
    
    while ( printf("String: ") > 0 && scanf(STR_MASK, str) == 1 ){
        printf("Result: ");
        for ( p = strtok(str, DELIM); p; p = strtok(NULL, DELIM) )
            if ( have_doubling_chars(p) )
                printf("%s ", p);
        printf("\n");
    }
    
    return 0;
}
1
17.10.2011, 18:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2011, 18:07

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

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

Сформировать строку, в которую попадут только те слова, где одинаковые буквы встречаются более двух раз
Ребят помогите сро4но, 2 задачи не полу4аются, буду признателен если...


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

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

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