0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 40
1

Сделать первую букву каждого слова большой и поставить точку после каждого слова

17.11.2019, 01:03. Показов 7209. Ответов 6

Author24 — интернет-сервис помощи студентам
Немного не получается сделать первую букву слов большой, может я чтото неправильно делаю( точно ).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <sstream>
using namespace std;
 
int main()
{
    string str,word;
 
    while(cin>>str){
 
       word[0]=toupper(word[0]);
        str=word;
       }
        cout<<str<<". ";
     return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2019, 01:03
Ответы с готовыми решениями:

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

Написать функцию, меняющую первую букву каждого слова в строке на номер слова
Написать функцию, меняющую первую букву каждого слова в строке на номер слова. Продемонстрировать...

Написать функцию, меняющую первую букву каждого слова в строке на номер слова.
Написать функцию, меняющую первую букву каждого слова в строке на номер слова. Продемонстрировать...

Строки: после каждого слова поставить его первую букву
В общем задачка такого типа. Дана произвольная строка,вводим с клавиатуры. Далее,нужно после...

6
43 / 39 / 5
Регистрация: 16.09.2019
Сообщений: 285
17.11.2019, 08:59 2
Цитата Сообщение от GraphGFX Посмотреть сообщение
первую букву слов
Первую букву предложения?

Если поменяешь string на char [1024], например, и выкинешь переменную word то все заработает
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 40
17.11.2019, 13:25  [ТС] 3
Цитата Сообщение от БедолагаЖека Посмотреть сообщение
Если поменяешь string на char [1024], например, и выкинешь переменную word то все заработает
Я сделал прогу, через ввод слов и их редактирование, но нужно поменять алгоритм: ввести предложение, найти первую букву слова, сделать ее большой, а потом после слова точку поставить. Запарно немного. Я думал сделать через find, но я не понимаю как.

Добавлено через 1 минуту
Ввести нужно именно предложение, а не по-словам.
0
43 / 39 / 5
Регистрация: 16.09.2019
Сообщений: 285
17.11.2019, 13:31 4
Цитата Сообщение от GraphGFX Посмотреть сообщение
ввести предложение
getline....
Цитата Сообщение от GraphGFX Посмотреть сообщение
найти первую букву слова, сделать ее большой
Строки не поддерживают индексацию (по моему), поэтому перевести в массив символов методом c_str(), заменить как у тебя, и сформировать новую строку
Цитата Сообщение от GraphGFX Посмотреть сообщение
потом после слова точку поставить
верно. находишь файндом пробел и на эту позицию инсертишь точку
1
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 40
17.11.2019, 14:04  [ТС] 5
Я тут сделал прогу, но как ее сделать через find первой буквы?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
    string str;
 
    while( cin >> str )
    {
    str[ 0 ] = toupper( str[ 0 ] );
    cout << str << ". ";
 
    }
    return 0;
}
0
43 / 39 / 5
Регистрация: 16.09.2019
Сообщений: 285
17.11.2019, 14:20 6
Цитата Сообщение от БедолагаЖека Посмотреть сообщение
Строки не поддерживают индексацию
Фигню сморозил
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
17.11.2019, 14:30 7
Лучший ответ Сообщение было отмечено GraphGFX как решение

Решение

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>
#include <string>
#include <sstream>
#include <cctype>
using namespace std;
 
int main()
{    
    string s, s1, word;
    cout << "String:\n";
    getline(cin, s);
    
    stringstream words(s);
    while (words >> word)
    {
        if (islower(word[0])) word[0]=toupper((word[0]));  
        s1+=word+". ";
    }
    
    s=s1;
    
    cout << s << "\n";
    
system("pause");
return 0;
}
1
17.11.2019, 14:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2019, 14:30
Помогаю со студенческими работами здесь

С текстового файла прочитать предложение, первую букву каждого слова сделать большой
С текстового файла прочитать предложение, первую букву каждого слова сделать большой. Полученное...

Из текстового файла прочитать предложение, первую букву каждого слова сделать большой
Из текстового файла прочитать предложение, первую букву каждого слова сделать большой. Полученое...

Вывести слова, отличные от последнего слова, предварительно удалив из каждого слова первую букву
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв;...

Напечатать все слова, перенеся первую букву каждого слова в конец слова
приветствую вас))) помогите пожалуйста даме... Текст задан строкой var St: string; Напечатать...


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

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

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