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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
#1

Преобразование букв - C++

16.03.2012, 21:13. Просмотров 1253. Ответов 7
Метки нет (Все метки)

Дана строка. Группы символов, разделенные пробелами(одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Преобразовать строку таким образом, что бы каждое слово начиналось с большой буквы, а остальные были строчные.

Без использования string.h
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2012, 21:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Преобразование букв (C++):

Преобразование Букв в двоичный код - C++
Вот надыбал такой код для сабжа #include <iostream> using namespace std; int main() { cout<< "Vvod: "; char s;...

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

Преобразование заглавных букв в строчные - C++
#include "stdafx.h" #include <iostream> #include <string.h> #include <conio.h> int main(int argc, char *argv) { char...

Преобразование всех строчных букв в прописные, а прописных — в строчные - C++
Задача:Код строчных букв ASCII отличается от кода прописных на 32. Таким образом, чтобы преобразовать строчную букву в прописную,...

Преобразование введенных во входной строке латинских букв в русские в соответствие с правилами транслитерации - C++
Нужно использовать вставку из ассемблера. Не знаю как сравнить элементы из pointer с русским алфавитом, заменить их элементами по правилам...

Дана строка с набором случайных символов, при вводе 10 букв первые 5 букв становятся большими , вторые 5 букв маленькими - C++
Дана строка с набором случайных символов, при вводе 10 букв первые 5 букв становятся большими , вторые 5 букв маленькими .Если непонятно то...

7
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
16.03.2012, 21:16 #2
идем по циклу, находим новое слово, его первый символ (предыдущие символы были пробелы) и меняем этот символ с помощью
C
1
int toupper ( int c );
и так далее пока не закончится строка.
0
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
16.03.2012, 21:20  [ТС] #3
Цитата Сообщение от Xind Посмотреть сообщение
идем по циклу, находим новое слово, его первый символ (предыдущие символы были пробелы) и меняем этот символ с помощью
C
1
int toupper ( int c );
и так далее пока не закончится строка.
с русским языком не работает, только англиский, а надо русский
0
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
16.03.2012, 21:27 #4
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 <cctype>
 
int main()
{   
   char str[256]; 
    
   std::cout << "input string: ";
   std::cin.getline(str, sizeof(str));
    
   for(char* pch = str; *pch; ++pch)
   {                  
      if(*pch != ' ')
      {         
     *pch = std::toupper(*pch);
         do
     { 
        ++pch;
        *pch = std::tolower(*pch); 
     }
     while(*pch && *pch != ' ');
      }    
   }
      
   std::cout << "result:\n" << str << "\n";   
}
0
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
16.03.2012, 21:29 #5
Цитата Сообщение от Vadikk Посмотреть сообщение
с русским языком не работает, только англиский, а надо русский
смотрим принцип toupper() потом смотрим как кодируется кириллица и делаем наподобие http://liveworkspace.org/code/8444fd920c603cd52c8b818842cb2302
0
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
16.03.2012, 21:33 #6
Цитата Сообщение от Vadikk Посмотреть сообщение
с русским языком не работает, только англиский, а надо русский
Установи соответствующую локаль.
0
Vadikk
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 44
17.03.2012, 00:09  [ТС] #7
Цитата Сообщение от rangerx Посмотреть сообщение
Установи соответствующую локаль.
если бы я знал что это, я же новичек только учусь
0
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
17.03.2012, 02:43 #8
http://www.cplusplus.com/reference/clibrary/clocale/setlocale/
C++
1
2
3
4
5
6
7
#include <clocale>
//...
int main()
{
   std::setlocale(LC_CTYPE, ""); 
   //....
}
таким образом будет установлена текущая локаль системы(по умолчанию используется т.н. классическая локаль("C")). Другие значения, которые может принимать второй параметр функции, зависят от используемого компилятора.
0
17.03.2012, 02:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2012, 02:43
Привет! Вот еще темы с ответами:

Напишите программу подсчета суммарного числа букв 'а' и букв 'b' в данной строковой переменной - C++
Напишите программу подсчета суммарного числа букв 'а' и букв 'b' в данной строковой переменной. Вывести на экран каких букв больше. ...

Дано слово. Поменять местами первую из букв а и последнюю из букв о! кто может помчь! - C++
Дано слово. Поменять местами первую из букв а и последнюю из букв о. Учесть возможность того, что таких букв в слове может не быть.

В строке слов из букв латинского алфавита найти слова, в которых нет букв, которые повторяются. - C++
В строке слов из букв латинского алфавита найти слова, в которых нет букв, которые повторяются.

Введите с клавиатуры некоторый текст и подсчитать в нем количество слов, букв, цифр,строчных букв, заглавных б - C++
Напишите пожалуйста программу в С++: Введите с клавиатуры некоторый текст и подсчитать в нем количество слов, букв, цифр,строчных букв,...


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

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

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