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

Найти в строке те слова, которые начинаются с прописной буквы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
11.05.2014, 21:18     Найти в строке те слова, которые начинаются с прописной буквы #1
Помогите, пожалуйста, а то я в информатике, а тем более в С++ совсем не шарю)

Дана строка. Словом текста считается любая последовательность букв латинского алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова, которые начинаются с прописной буквы. Все остальные слова удалить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2014, 21:18     Найти в строке те слова, которые начинаются с прописной буквы
Посмотрите здесь:

C++ Найти в строке те слова, которые начинаются и оканчиваются одной и той же буквой
Найти в строке те слова, которые начинаются и оканчиваются одной и той же буквой. C++
C++ вывести слова которые начинаются с одной и той же буквы
Строки. Подсчитать слова, которые начинаются с буквы B C++
Удалить слова которые начинаются с заглавной буквы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
11.05.2014, 21:32     Найти в строке те слова, которые начинаются с прописной буквы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char string[]="Пример строки Номер один";
char result[100]="";
char *token;
token = strtok( string, " " );
while( token != NULL )
{
      if( token[0]>='A' && token[0]<='Z')
      {
          strcat(result, token );
          strcat(result, " ");
      }
      token = strtok( NULL, seps ); // C4996
   }
}
cout<<result;
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
11.05.2014, 21:50  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #3
К сожалению при проверке пишет, что чего-то не хватает... Вот, может поможет как-то решить...

g++.exe "C:\Users\Ñàøà\Desktop\Áåçûìÿííûé1.cpp" -o "C:\Users\Ñàøà\Desktop\Áåçûìÿííûé1.exe" -I"D:\user\DEVC\lib\gcc\mingw32\3.4.2\include" -I"D:\user\DEVC\include\c++\3.4.2\backward" -I"D:\user\DEVC\include\c++\3.4.2\mingw32" -I"D:\user\DEVC\include\c++\3.4.2" -I"D:\user\DEVC\include" -L"D:\user\DEVC\lib"
C:\Users\Ñàøà\Desktop\Áåçûìÿííûé1.cpp:4: error: expected constructor, destructor, or type conversion before '=' token
C:\Users\Ñàøà\Desktop\Áåçûìÿííûé1.cpp:4: error: expected `,' or `;' before '=' token

C:\Users\Ñàøà\Desktop\Áåçûìÿííûé1.cpp:5: error: expected unqualified-id before "while"
C:\Users\Ñàøà\Desktop\Áåçûìÿííûé1.cpp:5: error: expected `,' or `;' before "while"
C:\Users\Ñàøà\Desktop\Áåçûìÿííûé1.cpp:14: error: expected declaration before '}' token
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
11.05.2014, 22:24     Найти в строке те слова, которые начинаются с прописной буквы #4
А Вы оформили этот код в виде функции main?
Если да, то покажите, что получилось.
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
11.05.2014, 22:33  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #5
Нет... Я вставил в С++, далее "Скомпилировать и выполнить"
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
11.05.2014, 22:53     Найти в строке те слова, которые начинаются с прописной буквы #6
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <cstring>
 
int main()
{
    // СЮДА ВСТАВИТЬ ПРЕДЛОЖЕННЫЙ КОД
    return 0;
}
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
11.05.2014, 23:12  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #7
Если я все правильно вписал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstring>
 
int main()
{
char string[]="Ïðèìåð ñòðîêè Íîìåð îäèГ*";
char result[100]="";
char *token;
token = strtok( string, " " );
while( token != NULL )
{
      if( token[0]>='A' && token[0]<='Z')
      {
          strcat(result, token );
          strcat(result, " ");
      }
      token = strtok( NULL, seps ); // C4996
   }
}
cout<<result;
    return 0;
}
То тогда пишет, что что-то не то в 17, 20, 21(два раза) и 22-й строках...
Hrollo
34 / 34 / 6
Регистрация: 05.11.2013
Сообщений: 147
11.05.2014, 23:22     Найти в строке те слова, которые начинаются с прописной буквы #8
попробуй заменить строку
C++
1
token = strtok( NULL, seps );
на
C++
1
token = strtok( NULL, " " );
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
11.05.2014, 23:35  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #9
неа... все равно
Hrollo
34 / 34 / 6
Регистрация: 05.11.2013
Сообщений: 147
12.05.2014, 00:12     Найти в строке те слова, которые начинаются с прописной буквы #10
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
#include <iostream>
 #include <cstring>
 
using namespace std;
 
 int main()
 {
 char string[]="Alex iuy Train nitro";
 char result[100]="";
 char *token;
 token = strtok( string, " " );
 while( token != NULL )
 {
    if( token[0]>='A' && token[0]<='Z')
    {
    strcat(result, token );
    strcat(result, " ");
    }
    token = strtok( NULL, " "); // C4996
 }
 
 cout<<result<<endl;
 return 0;
 }
У тебя в коде после цикла вайл была одна лишняя фигурная скобка, и небыло подключено пространство имен стд
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.05.2014, 00:48     Найти в строке те слова, которые начинаются с прописной буквы #11
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 <string>
#include <sstream>
#include <list>
#include <iterator>
#include <cctype>
 
int main()
{
    std::string wordLine, result;
 
    std::cout << "Put the line: ";
    std::getline(std::cin, wordLine);
 
    std::stringstream str(wordLine);
    std::istream_iterator<std::string> s_beg(str), s_end;
    std::list<std::string> words(s_beg, s_end);
    std::list<std::string>::iterator ib = words.begin(), ie = words.end();
 
    for ( ; ib != ie; ++ib )
    {
        if (toupper((*ib)[0]) == (*ib)[0])
        {
            result += *ib;
            result += " ";
        }
    }
 
    std::cout << "Result: " << result << std::endl;
}
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
13.05.2014, 00:35  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #12
Хм... Компилируется... Но странно то, что не открывается...

UPD: Открывается, но после ввода слов и нажатия энтер окно, где нужно ввести фразу исчезает...
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
13.05.2014, 12:26     Найти в строке те слова, которые начинаются с прописной буквы #13
Цитата Сообщение от Gahab Посмотреть сообщение
UPD: Открывается, но после ввода слов и нажатия энтер окно, где нужно ввести фразу исчезает...
Добавь в конце getchar();
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
13.05.2014, 18:33  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #14
Спасибо большое всем вам! Вы мне очень помогли!)
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
15.05.2014, 14:31  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #15
Тут так получилось, что программа написана очень сложным (для моего уровня) языком Не могли бы вы переписать её по-простому, на самом простейшем уровне?
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
26.05.2014, 16:21  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #16
В смысле самыми простыми командами...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2014, 18:41     Найти в строке те слова, которые начинаются с прописной буквы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
04.06.2014, 18:41  [ТС]     Найти в строке те слова, которые начинаются с прописной буквы #17
Актуально
Yandex
Объявления
04.06.2014, 18:41     Найти в строке те слова, которые начинаются с прописной буквы
Ответ Создать тему
Опции темы

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