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

Преобразовать в строке все прописные латинские буквы в строчные. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.64
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
06.04.2012, 00:10     Преобразовать в строке все прописные латинские буквы в строчные. #1
Дана строка. Преобразовать в ней все прописные латинские буквы в строчные.(с использованием указателей и функций)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2012, 00:10     Преобразовать в строке все прописные латинские буквы в строчные.
Посмотрите здесь:

C++ Заменить все прописные буквы на строчные С++
Выведите все строчные гласные латинские буквы, встречающиеся в данной строке ровно один раз C++
C++ Выведите все строчные гласные латинские буквы, встречающиеся в данной строке ровно один раз.
Процедура, преобразующая все прописные русские буквы строки в строчные. C++
Поменять все строчные буквы на прописные, прописные на строчные C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Enforcer
 Аватар для Enforcer
9 / 9 / 1
Регистрация: 19.01.2012
Сообщений: 62
06.04.2012, 00:54     Преобразовать в строке все прописные латинские буквы в строчные. #2
int toupper ( int c ); Convert lowercase letter to uppercase - Из маленьких в большие.

int tolower ( int c ); Convert uppercase letter to lowercase - Из больших в маленькие.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
06.04.2012, 00:57     Преобразовать в строке все прописные латинские буквы в строчные. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cctype> 
#include <iostream> 
 
using std::cout;
using std::endl;
 
int main(void)
{
   char hello[] = "Hello World";
   
   cout << "Before conversion: " << hello << endl;
 
   for (char *iter = hello; *iter != '\0'; ++iter)
   {
       *iter = std::tolower(*iter);
       ++iter;
   }
 
   cout << "After conversion: " << hello << endl;
 
   return 0;   
}
Enforcer
 Аватар для Enforcer
9 / 9 / 1
Регистрация: 19.01.2012
Сообщений: 62
06.04.2012, 10:44     Преобразовать в строке все прописные латинские буквы в строчные. #4
Зачем ++iter; внутри цикла ? Оно же в for есть.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
06.04.2012, 10:50     Преобразовать в строке все прописные латинские буквы в строчные. #5
Цитата Сообщение от Enforcer Посмотреть сообщение
Зачем ++iter; внутри цикла ? Оно же в for есть.
копипастил =) в моём примере меняет буквы через одну
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
06.04.2012, 10:51     Преобразовать в строке все прописные латинские буквы в строчные. #6
Более декларативно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
#include <cctype>
#include <cstring>
 
int main()
{
    char hello[] = "Hello, World";
    
    std::cout << "Before conversion: " << hello << std::endl;
    std::transform(hello, hello + strlen(hello), hello, tolower);
    std::cout << "After conversion: " << hello << std::endl;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
06.04.2012, 11:03     Преобразовать в строке все прописные латинские буквы в строчные. #7
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <boost/algorithm/string/string.hpp>
 
int main()
{
    char hello[] = "Hello, World";
    std::cout << boost::to_lower_copy(std::string(hello)) << std::endl;
}
http://liveworkspace.org/code/dd9375...8dc655b701081e
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
06.04.2012, 11:18     Преобразовать в строке все прописные латинские буквы в строчные. #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <locale>
 
void lowercase(char* s, const std::locale& loc = std::locale::classic())
{
    while(*s)
    {
        *s = std::tolower(*s, loc);
        ++s;
    }
}
 
int main()
{
    char s[256];
 
    std::cin.getline(s, sizeof(buf));
    lowercase(s);
    std::cout << s << '\n';
}
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
07.04.2012, 21:14  [ТС]     Преобразовать в строке все прописные латинские буквы в строчные. #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h> 
#include <conio.h> 
void main()
{ 
char st[80]; 
int i; 
printf("\nEnter the string"); 
printf("->"); 
gets(st); 
i = 0; 
while ( st[i ] ) 
{ 
if ((st[i] >= 'a' && st[i] <- 'z' ) || 
(st[i] >= 'a' && st[i] <= 'n') ) 
st[i] -= 32; 
else 
if (st[i] >= 'p' && st[i] <= 'я' ) 
st[i] -= 80; 
i++; 
} 
printf("\n%s\n", st) ; 
getch(); 
}
Переделать код так,чтобы использовались указатели и функции
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
07.04.2012, 21:21     Преобразовать в строке все прописные латинские буквы в строчные. #10
Цитата Сообщение от verena-12358 Посмотреть сообщение
Переделать код так,чтобы использовались указатели и функции
тут и так куча функций
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2012, 21:24     Преобразовать в строке все прописные латинские буквы в строчные.
Еще ссылки по теме:

C++ Заменить все прописные латинские буквы строчными
C++ Преобразовать вводимые с клавиатуры строчные буквы в прописные и наоборот
C++ Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные

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

Или воспользуйтесь поиском по форуму:
verena-12358
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
07.04.2012, 21:24  [ТС]     Преобразовать в строке все прописные латинские буквы в строчные. #11
а указатели???
Yandex
Объявления
07.04.2012, 21:24     Преобразовать в строке все прописные латинские буквы в строчные.
Ответ Создать тему
Опции темы

Текущее время: 01:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru