Форум программистов, компьютерный форум CyberForum.ru

Найти слова, содержащие букву “s” - C++

Восстановить пароль Регистрация
 
acidburn
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 13
10.07.2012, 14:45     Найти слова, содержащие букву “s” #1
ребята,помогите пожалуйста с выполнением заданий.совсем недавно пришел с армии(8 дней),на покупку денег нетуможет тут кто откликнется с помощью?!
1.тема: ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ СТРОК.задание:Найти слова, содержащие букву “s”

это выполнять в визуал с++ 6.0 под консолью..и как можно примитивнейшим языком и примитивнейшими командами.как в этом примере
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 <string.h>
#include <stdio.h>
int main()
{
char st[100], sl[100];
int k = 0, i;
puts ("Vvedie stroku");
gets (st);
strcat (st," ");
puts ("Slova: ");
int n = strlen(st);
if (n < 2) return 1;
sl[0] = '\0';
for (i=0; i<n; i++)
if (st[i] != ' ')
{
sl[k] = st[i];
sl[k+1] = '\0';
k++;
}
else
{
if (strlen (sl) > 0) puts (sl);
sl[0] = '\0';
k = 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
11.07.2012, 11:20     Найти слова, содержащие букву “s” #2
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 <vector>
#include <string>
#include <iostream>
using namespace std;
 
void get_words(string& s, vector<string>& v)
{
    for(int i=0; i < s.length(); i++)
        if(s[i] != ' ')
        {
            int start_index = i;
            while(i != s.size() && s[i] != ' ')
                i++;
            v.push_back(s.substr(start_index, i-start_index));
        }
}
 
int main()
{
    string str;
    vector <string> words;
    getline(cin, str);
    get_words(str, words);
    for(int i=0; i < words.size(); i++)
        if(words[i].find("s") != string::npos)
            cout << words[i] << endl;
    system("pause");
    return 0;
}
ничего большего не позволяет сделать полное отсутствие конкретики в задании...
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
11.07.2012, 11:43     Найти слова, содержащие букву “s” #3
Цитата Сообщение от salam Посмотреть сообщение
v.push_back(s.substr(start_index, i-start_index));
Просили же

Цитата Сообщение от acidburn Посмотреть сообщение
и как можно примитивнейшим языком
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
11.07.2012, 11:46     Найти слова, содержащие букву “s” #4
думаю, автору вопроса будет крайне полезно узнать, как работают самые распространенные функции двух самых распространенных библиотек языка...
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
11.07.2012, 12:37     Найти слова, содержащие букву “s” #5
Без векторов

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <algorithm>
#include <sstream>
#include <string>
#include <cstring>
 
int main()
{
    std::string Str;
    std::getline(std::cin, Str);
    std::replace_if(Str.begin(), Str.end(), ispunct, ' ');
    std::stringstream stream(Str);
    char symbol = 's';
    while(stream >> Str)
        if(Str.find(symbol) != std::string::npos)
             std::cout<<Str<<std::endl;
    return 0;
}
acidburn
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 13
11.07.2012, 13:35  [ТС]     Найти слова, содержащие букву “s” #6
блин,смотрю в методичку,там команд некоторых вообще нет)не знаю куда ее можно скинуть для примера(
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
11.07.2012, 15:15     Найти слова, содержащие букву “s” #7
Цитата Сообщение от acidburn Посмотреть сообщение
Найти слова, содержащие букву “s”
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
46
47
48
49
50
51
52
53
#include <iostream>
#include <cctype>
 
 
int main()
{
 
char str[ 200 ] = "   A crowdsourcing experiment on the design of interplanetary trajectories...";
 
size_t   i  = 0, j  = 0, beg = 0, flag = 0;
 
////////////////////////////////////////////////////
 
for ( ; str[ i ]; i++ ) 
 
    if ( ispunct ( str[ i ] ) ) str[ i ] = ' ';
 
///////////////////////////////////////////////////////
 
    for  ( i = 0 ; str[ i ] != '\0'; i++ )
    {   
                    
            if ( str[ i ] == ' ' &&  str[ i + 1 ] != ' ' )
                {
                     
                    for ( j = beg; str[ j ] != ' '; j++ )
                     {
                          if ( str[ j ] == 's' ) 
 
                              flag = 1;
                     }
 
                    if ( flag )
                    {
 
                         for ( j = beg; str[ j ] != ' '; j++ )
                         {
                              std::cout.put( str[ j ] );
                         }
 
                         std::cout.put( '\n' );
 
                     flag = 0;
 
                    }
 
                     beg = i + 1;  
                 }
            
    }
 
        return ( 0 );
 }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2012, 19:45     Найти слова, содержащие букву “s”
Еще ссылки по теме:

:Вывести все слова предложения, содержащие последнюю букву предыдущего слова не менее 2 раз C++
Заменить в заданной символьной строке все слова, содержащие указанную букву на соответствующее количество символов '*' C++
Найти все слова, содержащие латинские буквы (a, e, i, o, u) C++

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

Или воспользуйтесь поиском по форуму:
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
11.07.2012, 19:45     Найти слова, содержащие букву “s” #8
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 <stdlib.h>
#include <string.h>
 
int main()
{
    const char ch = 's';
    const char* delim = " ,.:;!?";
 
    char* token;
    char buf[256];
 
    printf("> ");
    fgets(buf, sizeof(buf), stdin);
 
    token = strtok(buf, delim);
    while(token != NULL)
    {
        if(strchr(token, ch) != NULL)
            puts(token);
 
        token = strtok(NULL, delim);
    }
 
    return 0;
}
Yandex
Объявления
11.07.2012, 19:45     Найти слова, содержащие букву “s”
Ответ Создать тему
Опции темы

Текущее время: 01:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru