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

Выбрать те слова, длина которых превышает 5

09.05.2016, 16:16. Показов 2329. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, помогите. Суть задачи: Выбрать те слова, длина которых превышает 5

Готовый код задачи:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include  <iostream>
#include  <sstream>
#include  <string>
using namespace std;
 
int main()
{
    string str;
    cout<<"Enter string:";
    getline(cin,str);
    istringstream ssin(str);
    string tmp,result;
    while(ssin>>tmp)
        if(tmp.size()>5)
            result+=(tmp+" ");
    cout<<result<<endl;
    system("pause");
    return 0;
}

А как эту же задачу реализовать с помощью функций ввода-вывода строк gets(S) и puts(S) и с обработкой строки как массива символов в функции main??
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2016, 16:16
Ответы с готовыми решениями:

Выбрать слова, длина которых превышает 5 символов
С клавиатуры вводится строка. Из неё нужно выбрать те слова, длина которых превышает 5. Затем...

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

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

Вывести слова, длина которых не превышает заданное число
Задано строку S. вивести все слова, длина которых не превышает число Р(ввод с клавиатуры). с...

5
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
09.05.2016, 17:23 2
Лучший ответ Сообщение было отмечено spr1nt как решение

Решение

spr1nt, набросал для вас код. Слова отделяются одиночными пробелами и знаками препинания. Если что-то не устраивает, пишите.

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
#include <iostream>
#include <cstring>
 
using namespace std;
 
int main()
{
    char a[100];
    string b;
    int k;
    cout << "Введите строку:" << endl;
    gets(a); 
    strcat(a, " ");
    k = 0;
    cout << "Слова длиной более 5 символов:" << endl;
    for (int i = 0; i < strlen(a); i++)
    {
        k++;
        if (isalpha(a[i])) b += a[i];
        if (a[i] == ' ') 
        {
            k--;
            if (b.length() > 5) cout << b << endl;
            k = 0;
            b = "";
        }
    }
    system("pause");
    return 0;
}
1
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
09.05.2016, 22:12 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
#include <cctype>
 
int main(void){
    char s[128];
    
    std::printf("Enter str: ");
    char* p = std::fgets(s, sizeof(s), stdin);
    if(p != NULL){
        int n = 0;
        do {
            if(std::isalnum(*p))
                ++n;
            else if(n > 0){
                if(n > 5)
                    std::printf("%.*s\n", p - (p - n), p - n);
                n = 0;
            }
        } while(*p++ != '\0');
    }
    return 0;
}
0
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 38
16.05.2016, 01:26  [ТС] 4
Спасибо! То, что надо. А еще вопрос. Можно ли эту же программу переписать без использования функций, все так же через gets и puts, скажем так обычным "перебором"?
0
0 / 0 / 0
Регистрация: 27.10.2014
Сообщений: 38
17.05.2016, 17:35  [ТС] 5
Fixer_84, скажите, можете помочь? Можно ли эту же программу переписать без использования функций, все так же через gets и puts, скажем так обычным "перебором"?
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
18.05.2016, 17:25 6
spr1nt, здравствуйте. Извините, что долго не отвечал. Поясните, пожалуйста, что вы имеете ввиду под "обычным перебором"?
0
18.05.2016, 17:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2016, 17:25
Помогаю со студенческими работами здесь

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

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

задан текст. удалить из нее все слова, длина которых четная (создать новый массив, оставив все слова, длина которых нечетная)
задан текст. удалить из нее все слова, длина которых четная (создать новый массив, оставив все...

Выбрать из строки слова, длина которых больше 7 (нужны комментарии к коду)
программа выбирает слова из строки длина которых больше 7 помогите написать комментарии к строкам...


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

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

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