Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
1

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

11.05.2014, 21:18. Показов 4282. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, а то я в информатике, а тем более в С++ совсем не шарю)

Дана строка. Словом текста считается любая последовательность букв латинского алфавита; между соседними словами - не менее одного пробела, за последним словом – точка. Найти и сохранить в строке те слова, которые начинаются с прописной буквы. Все остальные слова удалить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2014, 21:18
Ответы с готовыми решениями:

Вывести слова, которые начинаются с прописной буквы
Добрый день! Задача: нужно из строки вывести слова с прописной буквы. Перебираю слова и...

Вывести только те слова, которые начинаются с прописной буквы
Работа с текстовыми файлами Дана строка. Вывести только те слова сообщения, которые начинаются с...

Вывести только те слова сообщения, которые начинаются с прописной буквы
Вывести только те слова сообщения, которые начинаются с прописной буквы string str ; ...

Вывести только те слова сообщения, которые начинаются с прописной буквы
Не могу написать программы( помогите пожалуйста!! 1. Вывести только те слова сообщения, которые...

16
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,719
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;
0
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
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,719
11.05.2014, 22:24 4
А Вы оформили этот код в виде функции main?
Если да, то покажите, что получилось.
0
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
11.05.2014, 22:33  [ТС] 5
Нет... Я вставил в С++, далее "Скомпилировать и выполнить"
0
542 / 447 / 162
Регистрация: 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;
}
0
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-й строках...
0
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
11.05.2014, 23:22 8
попробуй заменить строку
C++
1
token = strtok( NULL, seps );
на
C++
1
token = strtok( NULL, " " );
0
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
11.05.2014, 23:35  [ТС] 9
неа... все равно
0
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
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;
 }
У тебя в коде после цикла вайл была одна лишняя фигурная скобка, и небыло подключено пространство имен стд
0
интересующийся
311 / 282 / 93
Регистрация: 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;
}
0
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
13.05.2014, 00:35  [ТС] 12
Хм... Компилируется... Но странно то, что не открывается...

UPD: Открывается, но после ввода слов и нажатия энтер окно, где нужно ввести фразу исчезает...
0
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
13.05.2014, 12:26 13
Цитата Сообщение от Gahab Посмотреть сообщение
UPD: Открывается, но после ввода слов и нажатия энтер окно, где нужно ввести фразу исчезает...
Добавь в конце getchar();
0
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
13.05.2014, 18:33  [ТС] 14
Спасибо большое всем вам! Вы мне очень помогли!)
0
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
15.05.2014, 14:31  [ТС] 15
Тут так получилось, что программа написана очень сложным (для моего уровня) языком Не могли бы вы переписать её по-простому, на самом простейшем уровне?
0
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
26.05.2014, 16:21  [ТС] 16
В смысле самыми простыми командами...
0
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
04.06.2014, 18:41  [ТС] 17
Актуально
0
04.06.2014, 18:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2014, 18:41
Помогаю со студенческими работами здесь

Посчитать количество слов во введенной строке и найти слова, которые начинаются с буквы t
Суть задания такова... 1-посчитать к-во слов во введенной строке. 2-Найти слова, которые начинаются...

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

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

Найти количество слов в строке которые начинаются на латинские буквы
Помогите,пожалуйста,СРОЧНО Нужно найти и вывести количество слов которые начинаются на латинские...

В строке найти и вывести слова которые начинаются на A и заканчиваются на Z
Задали лабу по стрингам, мое задания:в строке найти и вывести слова которые начинаются на A и...

Найти в строке слова, которые начинаются и оканчиваются на одну и ту же букву
Дана строка.Найти в этой строке слова, которые начинаються и оканчиваються на одну и ту же букву....


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru