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

Нахождение слова, по заданной букве - C++

Восстановить пароль Регистрация
 
Alexraiter
0 / 0 / 0
Регистрация: 29.01.2013
Сообщений: 21
04.02.2013, 19:00     Нахождение слова, по заданной букве #1
Дано предложение. Найти какое-нибудь слово, начинающееся на букву "к". С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2013, 19:00     Нахождение слова, по заданной букве
Посмотрите здесь:

C++ Нахождение числа Пи с заданной точностью
C++ Из заданной последовательности слов удалить слова,содержащие слова
Программа, которая вводит текст, удаляет в нем все слова заданной длины, а оставшиеся слова выводит в алфавитн C++
В заданной последовательности слов найдите все слова, начинающиеся с заданной приставки C++
C++ В заданной строке выбрать те слова,в которых первая буква этого слова встречается еще хоть один раз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pride_SC
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 3
09.02.2013, 22:30     Нахождение слова, по заданной букве #2
Вот код, который был сделан мной в Борланде...по-этому ищет английскую "k".

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 <iostream.h>
#include <conio.h>
#include <cstring.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
int n,b,i;
cout<<"Vvedite kol-vo simvolov:\n";
cin>>n;
cout<<"--------------------------------------------------------------------------"<<endl;
char *s1=new char[n];
cout<<"Vvedite predlojeniye(doljno bit slovo, nachinaushcheesya s bukvi 'k':\n";
gets(s1);
cout<<"--------------------------------------------------------------------------\n"<<"Slovo, nachinaushcheesya s bukvi 'k':"<<endl;
for(i=0;i<n;i++)
if(s1[i]=='k'&&s1[i-1]==' ')
b=i;
for(i=b;i<n;i++)
{
cout<<s1[i];
if(s1[i]==' ')
break;
}
getch();
}
Константин_2012
53 / 54 / 17
Регистрация: 06.02.2013
Сообщений: 255
Записей в блоге: 1
09.02.2013, 22:41     Нахождение слова, по заданной букве #3
Цитата Сообщение от Alexraiter Посмотреть сообщение
Дано предложение. Найти какое-нибудь слово, начинающееся на букву "к". С++
все слова нужно искать или только одно?
Shtot
19 / 19 / 3
Регистрация: 19.10.2012
Сообщений: 53
10.02.2013, 00:14     Нахождение слова, по заданной букве #4
Вот, ищется любая буква.
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 <vector>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    vector<string> word;
    string a;
    char ch;
    int i;
    
    cout<<"Ââåäèòå ГЎГіГЄГўГі: ";
    cin>>ch;
    cout<<"Ââåäèòå ïðåäëîæåГ*ГЁГҐ (Гў ГЄГ®Г*öå ÷åðåç ïðîáåë òî÷êó ГЁ 'enter'):\n";
    while (cin>>a && a!=".")
    {
          if (a[0]==ch)
            word.push_back(a);
    }
    
    cout<<"ÑëîâГ*, ïåðâГ*Гї ГЎГіГЄГўГ* êîòîðûõ - k: ";
    for(i=0; i<word.size(); ++i)
    {
          cout<<word[i]<<" ";         
    }
    
    cout<<endl;
    system("pause");
}
Добавлено через 18 минут
Маааленькое усовершенствование, не нужно ставить пробел перед точкой:
C++
1
2
    cout<<"Введите предложение (в конце поставить точку или знак вопроса, восклицания):\n";
    while (cin>>a && a[a.size()-1]!='.')
Добавлено через 4 минуты
С любым символом конца строки:
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
#include <iostream>
#include <vector>
using namespace std;
 
bool proverka(char symbol)  // Проверяет, является ли символ концом строки
{
     if ( symbol!= '.' && symbol!= '!' && symbol!= '?' )
       return true;
     else 
       return false;        
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    vector<string> word;
    string a;
    char ch;
    int i;
    
    cout<<"Введите букву: ";
    cin>>ch;
    cout<<"Введите предложение (в конце поставить точку, знак восклицания или вопроса):\n";
    while (cin>>a && proverka(a[a.size()-1])==true)
    {
          if (a[0]==ch)
            word.push_back(a);
    }
    
    cout<<"Слова, первая буква которых - k: ";
    for(i=0; i<word.size(); ++i)
    {
          cout<<word[i]<<" ";         
    }
    
    cout<<endl;
    system("pause");
}
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
10.02.2013, 00:36     Нахождение слова, по заданной букве #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cstring>
int main()
{
     char str[100];
     std::cin.getline(str, sizeof(str)/sizeof(*str));
     char* p = strtok(str,",.!?: ");
     do {
         if (*p == 'k' && (p == str || !isalpha(*(p-1))))
            std::cout<<p<<std::endl;
     } while (p = strtok(NULL,",.!?: "));
     return 0;
}
Yandex
Объявления
10.02.2013, 00:36     Нахождение слова, по заданной букве
Ответ Создать тему
Опции темы

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