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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
#1

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

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

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

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

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

В заданной строке найти и упорядочить в алфавитном порядке слова, начинающиеся с прописной буквы - C++
Здравствуйте,помогите,пожалуйста,разобраться.Необходимо вывести в алфавитном порядке слова, начинающиеся с прописных букв for (int i = 0;...

Найти в строке те слова, которые начинаются и оканчиваются одной и той же буквой - C++
дана строка. найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой. язык Си++

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

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

Найти в строке те слова, которые начинаются и оканчиваются одной и той же буквой. - C++
Есть на паскале код uses crt; var s,s1:string; n,i,k,f:byte; begin clrscr; writeln('Введите последовательность слов,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6358 / 5922 / 1919
Регистрация: 18.12.2011
Сообщений: 15,218
Завершенные тесты: 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
Модератор
Эксперт С++
6358 / 5922 / 1919
Регистрация: 18.12.2011
Сообщений: 15,218
Завершенные тесты: 1
11.05.2014, 22:24 #4
А Вы оформили этот код в виде функции main?
Если да, то покажите, что получилось.
Gahab
0 / 0 / 0
Регистрация: 11.05.2014
Сообщений: 21
11.05.2014, 22:33  [ТС] #5
Нет... Я вставил в С++, далее "Скомпилировать и выполнить"
Mиxaил
533 / 438 / 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
интересующийся
304 / 275 / 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
интересующийся
304 / 275 / 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
Тут так получилось, что программа написана очень сложным (для моего уровня) языком Не могли бы вы переписать её по-простому, на самом простейшем уровне?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2014, 14:31
Привет! Вот еще темы с ответами:

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

Удалить слова которые начинаются с заглавной буквы - C++
Есть текстовый файл в котором ~70 тыс. слов. Нужно удалить все слова которые начинаются с заглавной буквы. Все слова записаны просто через...

Строки. Подсчитать слова, которые начинаются с буквы B - C++
Читайте строки. Напишите программу, которая подсчитывает слова, которые начинаются с буквы B

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.05.2014, 14:31
Ответ Создать тему
Опции темы

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