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

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.

24.03.2010, 21:42. Показов 3839. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2010, 21:42
Ответы с готовыми решениями:

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три...

С++ Дана строка содержащая текст заканчивающийся точкой. Вывести на экран слова содержащие 3 буквы
ребята, буду очень благодарна за программу! и если не сложно, добавьте комментарии. но можно и...

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
Обработка числовых массивов 1.Дан массив X(N). Переписать в массив Y подряд положительные и в...

5
31 / 30 / 19
Регистрация: 18.01.2010
Сообщений: 123
24.03.2010, 23:19 2
строка из файла или ее нужно вводить.
0
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 3
26.03.2010, 22:54  [ТС] 3
вводим
0
14 / 14 / 3
Регистрация: 12.07.2009
Сообщений: 114
27.03.2010, 00:05 4
Так тут просто, через strtok, а потом длину смотреть через strlen...
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11885 / 7258 / 1720
Регистрация: 25.07.2009
Сообщений: 13,276
27.03.2010, 05:42 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
38
39
40
41
42
43
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <iterator>
 
int main(){
    const int CHAR_LIMIT = 3;
    std::string buf, tmp;
    std::cout << "Write some sentence: ";
    std::getline(std::cin, buf);
    if ( buf.empty() ){
        std::cerr << "Empty strings not allowed!" << std::endl;
        return 1;
    }
    size_t pos;
    if ( ( pos = buf.find_first_of('.') ) == std::string::npos ){
        std::cerr << "Sentence must be ended with a point!" << std::endl;
        return 1;
    }
    if ( pos < buf.length() - 1 )
        buf.erase(pos + 1);
 
    std::vector<std::string> vec;
    std::istringstream ist(buf);
    while ( ist >> tmp ){
        if ( ( pos = tmp.find_last_not_of(".,:;") ) != std::string:: npos ){
            if ( pos < tmp.length() - 1 )
                tmp.erase(pos + 1);
            if ( tmp.length() == CHAR_LIMIT )
                vec.push_back(tmp);
        }
    }
 
    if ( vec.empty() )
        std::cout << "No words with length of " << CHAR_LIMIT << " characters found!" << std::endl;
    else {
        std::cout << "Words with length of " << CHAR_LIMIT << " characters:" << std::endl;
        std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    }
 
    return 0;
}
Добавлено через 31 минуту
Вариант С (немного проще):
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define CHAR_LIMIT 3
#define MAX_STR 256
#define SPCHARS " ,.\t"
 
int main(void){
    char buf[MAX_STR], *pBuf;
 
    printf("Write some sentence: ");
    if ( !fgets(buf, MAX_STR, stdin) ){
        fprintf(stderr, "Can't get sentence!\n");
        exit(1);
    }
    if ( ( pBuf = strchr(buf, '.') ) == NULL ){
        fprintf(stderr, "Sentence must be ended with a point!\n");
        exit(1);
    }
    *(++pBuf) = '\0';
 
    printf("Words with length of %d characters:\n", CHAR_LIMIT);
    for ( pBuf = strtok(buf, SPCHARS); pBuf != NULL; pBuf = strtok(NULL, SPCHARS) )
        if ( strlen(pBuf) == CHAR_LIMIT )
            printf("%s\n", pBuf);
 
    exit(0);
}
0
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 3
28.03.2010, 16:14  [ТС] 6
спасибо огромное
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2010, 16:14
Помогаю со студенческими работами здесь

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три...

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три...

Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.

Дана строка содержащая текст заканчивающийся точкой. Вывести на экран слова содержащие 3 буквы
Дана строка содержащая текст заканчивающийся точкой. Вывести на экран слова содержащие 3 буквы. ...


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

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

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