С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

чтобы каждое слово начиналось с большой буквы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан текст, состоящий из предложений, разделяемых точками http://www.cyberforum.ru/cpp-beginners/thread904221.html
Дан текст, состоящий из предложений, разделяемых точками. Нужно написать программу, производящую следующее форматирование: после каждой точки в конце предложения должен стоять хотя бы один пробел;...
C++ С Паскаля на С++ program Matrix25; var MAx,Sum,num,j,i,M,N:integer; a: array of integer; begin // Ввод данных writeln('Введите числа M (M<=10) и N (N<=10)'); read(M); readln(N); writeln('Введите по ',N,'... http://www.cyberforum.ru/cpp-beginners/thread904214.html
определить количество слов C++
Дано предложение, определить количество слов в нем.
C++ Составить программу для извлечения точного квадратного корня из n-разрядного числа
Составить программу для извлечения точного квадратного корня из n-разрядного числа(n>40)
C++ Подсчитать количество цифровых символов в последовательности http://www.cyberforum.ru/cpp-beginners/thread904206.html
В последовательности из N символов, которые вводятся подсчитать количество цифровых символов(0..9).
C++ Из исходной строки символов удалить символы отличные от русских букв и пробелов С исходной строки символов удалить символы отличные от русских букв и пробелов. укр.(З заданої стрічки символів видалити символи, які відмінні від російських букв та пробілів.) подробнее

Показать сообщение отдельно
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
17.06.2013, 14:12
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
#include <cstddef>
#include <cstring>
#include <cctype>
#include <iostream>
 
using namespace std;
 
int main()
{
    char str[100];
    cout << "input string: ";
    cin.getline(str, sizeof(str));
 
    if(*str != '\0')
    {
        const char* delim = " ,.:;!?\t";
 
        for(size_t i = 1; str[i] != '\0'; ++i)
            if(isalpha(str[i]) && strchr(delim, str[i - 1]))
                str[i] = toupper(str[i]);
 
        if(isalpha(str[0]))
            str[0] = toupper(str[0]);
    }
 
    cout << "result: " << str << endl;
}
Добавлено через 3 минуты
Цитата Сообщение от atoi Посмотреть сообщение
for (int i=0; i<=strlen(str); i++)
* * * * {
* * * * if (str[i]==' ')
* * * * * * str[i+1]=toupper(str[i+1]);
* * * * }
Выходите за пределы массива
C++
1
2
3
4
5
6
7
8
#include <cassert>
//...
for (int i=0; i<=strlen(str); i++)
{
    assert(i+1 <= strlen(str)); // !!!
    if (str[i]==' ')
        str[i+1]=toupper(str[i+1]);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.