Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Оксана(ИТ-11)
3 / 3 / 0
Регистрация: 27.11.2011
Сообщений: 34

В строке с найти количество слов заканчивающихся подстрокой с2

27.08.2012, 12:11. Показов 1339. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В строке с найти количество слов заканчивающихся подстрокой с2!
Напишите пожалуйста простое решение.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.08.2012, 12:11
Ответы с готовыми решениями:

Вычислить количество слов в заданной строке, начинающихся и заканчивающихся 'W'
Надо написать прогу: Дана строк S, вывести количество слов начинающихся и заканчивающихся 'W'

Определить количество слов в каждой строке , начинающихся на ‘А’ и заканчивающихся на “ и”
Определить количество слов в каждой строке , начинающихся на ‘А’ и заканчивающихся на “ и” #include <stdio.h> #include...

Найти количество слов начинающихся и заканчивающихся одной и той же буквой
Ребята, очень нужна помощь...помогите решить и разобраться с задачей по строкам...вот условие.. Дана строка, состоящая из русских слов,...

7
 Аватар для Пaтрик
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 976
27.08.2012, 12:55
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
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <iterator>
#include <cctype>
#include <algorithm>
 
class is_word_delimiter: public std::unary_function<char, bool>
{
public:
    bool operator () (const char &ch)
    {
        return ispunct(ch) || isspace(ch);
    }
};
 
int main()
{
    std::string c = "In the case of unary function objects, this operator() member function takes one single parameter";
    std::string c1 = "er";
    std::replace_if(c.begin(), c.end(), is_word_delimiter(), ' ');
    std::istringstream stream(c);
    std::vector<std::string> vec((std::istream_iterator<std::string>(stream)), 
            std::istream_iterator<std::string>());
    int count = 0;
    for (std::vector<std::string>::const_iterator it = vec.begin();
            it != vec.end();
            ++it)
        if ((*it).rfind(c1) + c1.size() == (*it).size())
            count++;
    std::cout << count << std::endl;
}
link
0
 Аватар для Оксана(ИТ-11)
3 / 3 / 0
Регистрация: 27.11.2011
Сообщений: 34
27.08.2012, 13:08  [ТС]
а еще проще никак нельзя. мы такие выкрутасы просто не учили. самый базовый уровень. 1 курс. строки помогите кто нибудь пожалуйста.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
27.08.2012, 13:28
Цитата Сообщение от Оксана(ИТ-11) Посмотреть сообщение
а еще проще никак нельзя. мы такие выкрутасы просто не учили. самый базовый уровень. 1 курс. строки помогите кто нибудь пожалуйста.
- вот очень просто (ввод input и sfind делаем getline(cin,input); getline(cin,sfind) я просто опустил этот момент и задал текст внутри программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
    string input = "This is test of this program";//Èñõîäíûé òåêñò ñ
    string sfind = "is";//Ïîäñòðîêà äëÿ ïîèñêà ñ2
    cout<<"c = "<<input<<endl;
    cout<<"c2= "<<sfind<<endl;
    int wordcount= 0;//×èñëî ñëîâ
    int findpos  = input.find(sfind,0);
    while(findpos != string::npos)
    {
        findpos = findpos + 1;
        findpos = input.find(sfind,findpos);
        wordcount = wordcount + 1;
    }
    cout<<"Number of words : "<<wordcount<<endl;
    return 0;
}
http://liveworkspace.org/code/... ee9d170bb0
Миниатюры
В строке с найти количество слов заканчивающихся подстрокой с2  
0
 Аватар для Пaтрик
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 976
27.08.2012, 13:40
-=ЮрА=-, Вы не верно выполнили задание
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
27.08.2012, 14:01
Цитата Сообщение от Оксана(ИТ-11) Посмотреть сообщение
а еще проще никак нельзя
попробуем:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<string.h>
#define N 1024
 
int main( )
{
   char s[N], t[N], *word;
   int len, len_word, count = 0;
   fgets(s, N, stdin);   // строка-предложение
   fgets(t, N, stdin);   // искомое слово в конце каждого из слов в s
   t[len = strlen(t) - 1] = '\0';
   for (word = strtok(s, " .,\n\t"); word; word = strtok(NULL, " .,\n\t"))
      if ((len_word = strlen(word)) >= len && strcmp((word + len_word - len), t) == 0)
         ++count;
   printf("count = %d\n", count);
   return 0;
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
27.08.2012, 15:45
Пaтрик, лучше следить за своими брёвнами в глазу
На счёт алгоритма ну да он из за своей простоты иcкал просто вхождения с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
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
 
int main()
{
    //Исходный текст с
    string input = "program gramatic diagram";
    string sfind = "am";//Подстрока для поиска с2
    string word  = "";  //Очередное слово из строки с
    cout<<"c = "<<input<<endl;
    cout<<"c2= "<<sfind<<endl;
    int wordcount= 0;//Число слов c окнчанием на c2
    int findpos  = 0;//Позиция вхождения подстроки в слово из с
    stringstream ss(input);//Инициализируем стрингпоток
    while(ss>>word)
    {
        findpos = word.find(sfind,0);
        if(findpos != string::npos)
        if(word.length() - findpos == sfind.length())
            wordcount = wordcount + 1;
    }
    cout<<"Number of words : "<<wordcount<<endl;
    return 0;
}
Отработка http://liveworkspace.org/code/... b071b09ae1
Миниатюры
В строке с найти количество слов заканчивающихся подстрокой с2  
0
 Аватар для zitxbit
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
27.08.2012, 16:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
int main()
{
    static char *c1 = "dog ignition brown fox distortion tion jumps over a lazy dog motion";
    static char *c2 = "tion";
 
    int count = 0;
    for (char* buf = c1; (buf = strstr(buf, c2)) != NULL; *buf++)
        if (!isspace(*(buf-1))) count++;
 
    printf("str = \"%s\"\n",c1);
    printf("substr = \"%s\" count = %d\n",c2,count);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/... 4be858fff1
Миниатюры
В строке с найти количество слов заканчивающихся подстрокой с2  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.08.2012, 16:33
Помогаю со студенческими работами здесь

Дана строка символов. Найти количество слов начинающихся на A и заканчивающихся на D
Дана строка символов. Найти количество слов начинающихся на A и заканчивающихся на D. Я вот что-то писала, но прога не работает - мне...

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

Найти в предложении количество слов, заканчивающихся на ту же букву , что и последнее слово
Найти в предложении количество слов, заканчивающихся на ту же букву , что и последнее слово

Найти в предложении количество слов ,заканчивающихся на ту же букву ,что и последнее слово
Найти в предложении количество слов ,заканчивающихся на ту же букву ,что и последнее слово

Найти в предложении количество слов, заканчивающихся на ту же букву , что что и первое слово
Помогите написать программу на C++ Вот условие: Найти в предложении количество слов, заканчивающихся на ту же букву , что что и первое...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru