Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zorg2
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 8
#1

Строки в С++ - C++

24.04.2011, 13:07. Просмотров 323. Ответов 5
Метки нет (Все метки)

Подскажите как вывести все слова из строки, содержащие определенную букву?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 13:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Строки в С++ (C++):

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: "Добавить строки, начиная...

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2 вот...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Указать номер строки, максимально удаленной от первой строки заданной матрицы - C++
Задание: Расстояние между k-й и 1-й строками квадратной матрицы А опеределяется как r = сумма от j=1 до N от (abs(akj)*abs(a1j)). Указать...

Прибавить ко всем элементам каждой строки максимальное значение этой строки - C++
добрый вечер! Помогите пожалуйста доработать код! Изменить текущий массив, прибавив ко всем элементам каждой строки максимальное...

5
xAtom
917 / 742 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
24.04.2011, 13:54 #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
30
31
32
33
#include <ctype.h>
#include <iostream>
using namespace std;
 
 
void main() {
    const char*  words = "Kvark -> Particel -> Atom -> ALL..., kino, kinder,\n\n\t kant....";
 
   const char  sign = 'k'; // найти все слова где встречаётся в нём символ 'k'
  
   char  build[255];
   char*  iter = build;
   const char*  str = words;
   do {
 
        if( isalnum( *str ) || isdigit( *str ) ) {
                *iter = *str;
       ++iter;
         } else {
     if(strlen(build)) {
         *iter = '\0';
         const char* ch = strchr(build, sign );
         if(ch) 
            cout << build << endl;  // выводим найденое слово
    }
    memset(build, '\0', sizeof(build));
    iter = build;
        }
 
    } while( *str++ != '\0' );
 
    cin.get();
}
1
AlexP11223
54 / 55 / 8
Регистрация: 20.04.2011
Сообщений: 353
24.04.2011, 13:57 #3
А в чем проблема? Проще всего примерно такой алгоритм: просмотреть всю строку с помощью цикла, занести все слова (слова же разделены пробелами или как-то иначе) например в массив и потом в нем искать нужные слова.
1
prZzZ
Программист
112 / 92 / 5
Регистрация: 22.03.2011
Сообщений: 236
24.04.2011, 14:01 #4
Вы можете конкретно описать задачу? Как оформлены у Вас строки? Либо в stl (std::string), либо в MFC (CString) либо стандартным char**
1
Zorg2
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 8
24.04.2011, 14:14  [ТС] #5
через #include "string"
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
24.04.2011, 14:20 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <sstream>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    const std::string delims = ".,?!: ";
    for(std::string::iterator iter = str.begin(); iter != str.end(); ++iter)
      if(delims.find(*iter) != std::string::npos)
         *iter = ' ';
    char c;
    std::cout<<"Enter letter: ";
    std::cin>>c;
    std::istringstream ist(str);
    while(ist >> str)
       if(str.find(c) != std::string::npos)
          std::cout<<str<<'\n';
}
0
24.04.2011, 14:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2011, 14:20
Привет! Вот еще темы с ответами:

Как считать строки из файла, если там больше одной строки? - C++
Как считать строки из файла в массив. Если в файле одна строка, то нет проблем, но если несколько, то при использовании функции fgets ...

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

Найти среднее арифметическое каждой строки матрицы и отсортировать строки по возрастанию - C++
Дана квадратная матрица. Найти среднее арифметическое каждой строки и отсортировать строки по возрастанию этих характеристик

Как первые два символа строки переставить в конец этой строки? - C++
Собственно вопрос


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

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

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