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

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

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

Напечатать последовательность слов, преобразовав все буквы в строчные - C++

04.11.2010, 19:46. Просмотров 1255. Ответов 19
Метки нет (Все метки)

Дана последовательность, содержащая от 1 до 30 прописных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать эту же последовательность слов, преобразовав все буквы в строчные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2010, 19:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Напечатать последовательность слов, преобразовав все буквы в строчные (C++):

Напечатать все строчные русские гласные буквы - C++
Дан текст, за которым следует точка. В алфавитном порядке напечатать все строчные русские гласные буквы (а, е, и, о, у, ы, э, ю, я),...

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

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

Преобразовать в строке все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные - C++
Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные - C++
Дана строка. Преобразовать в ней все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные. Помогите, прошу

Напечатать только строчные русские буквы, входящие в текст - C++
3.Дан текст из 60 литер. Напечатать только строчные русские буквы, входящие в этот текст. заранее спасибо

19
ForEveR
В астрале
Эксперт С++
7984 / 4743 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.11.2010, 19:52 #2
raal,
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cstring>
 
int main()
{
    char str[]="HELLO";
    for(size_t i=0; i<strlen(str); ++i)
        str[i]=tolower(str[i]);
    std::cout<<str<<'\n';
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <cstring>
 
int main()
{
    char str[]="HELLO";
    strlwr(str);
    std::cout<<str<<'\n';
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
void transform(char* arr)
{
    while(*arr!='\0')
    {
         *arr++=*arr + 0x20;
    }
}
 
int main()
{
     char str[]="HELLO";
     transform(str);
     std::cout<<str<<'\n';
     return 0;
}
1
tartikov
Заблокирован
04.11.2010, 19:57 #3
ForEveR, strlen в условии цикла, ужас.
1
raal
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8
04.11.2010, 20:02  [ТС] #4
а можно ж использовать strlwr для преобразования?
0
ForEveR
В астрале
Эксперт С++
7984 / 4743 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.11.2010, 20:03 #5
raal, Да

Добавлено через 40 секунд
tartikov, И в чем же ужас? Для таких программ норм. А так проще записать в переменную. Я как-то пользуюсь string и не парюсь.
1
raal
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8
04.11.2010, 20:07  [ТС] #6
у меня ж строка со слов разделенных запятой, а в конце точка. как с этим быть?
0
ForEveR
В астрале
Эксперт С++
7984 / 4743 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.11.2010, 20:10 #7
raal, Вы правда думаете что что-то изменилось?
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <cstring>
 
int main()
{
        char str[]="HELLO, MAN, and GIRL, bye.";
        strlwr(str);
        std::cout<<str<<'\n';
        return 0;
}
Добавлено через 1 минуту
А этот самопал можно сделать так.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cctype>
 
void transform(char* arr)
{
    while(*arr!='\0')
    {
         if(isalpha(*arr)&&isupper(*arr))
            *arr=*arr + 0x20;
         arr++;
    }
}
 
int main()
{
     char str[]="HELLO, MAN, and GIRL, bye.";
     transform(str);
     std::cout<<str<<'\n';
     return 0;
}
1
raal
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8
04.11.2010, 20:24  [ТС] #8
а что делает isalpha и isupper? что такое 0x20?
0
ForEveR
В астрале
Эксперт С++
7984 / 4743 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.11.2010, 20:27 #9
raal, 0x20=32 в десятичной системе счисления.
isalpha - проверяет ли символ буквой
isupper - находится ли символ в верхнем регистре
1
slice
35 / 78 / 4
Регистрация: 04.11.2010
Сообщений: 249
04.11.2010, 22:36 #10
Цитата Сообщение от ForEveR Посмотреть сообщение
*arr=*arr + 0x20;
омг. Ну и бред.
0
ForEveR
В астрале
Эксперт С++
7984 / 4743 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.11.2010, 22:53 #11
slice, В чем бред?
C++
1
*arr=*arr+32
меньший бред?
C++
1
*arr=*arr+040
?
0
slice
35 / 78 / 4
Регистрация: 04.11.2010
Сообщений: 249
04.11.2010, 22:56 #12
Цитата Сообщение от ForEveR Посмотреть сообщение
В чем бред?
В том, что это работает неверно
0
CyBOSSeR
Эксперт С++
2306 / 1676 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2010, 23:05 #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <algorithm>
#include <iostream>
#include <functional>
#include <string>
#include <cctype>
 
struct Replacer : std::unary_function<char, char> {
  char operator()(char ch) const {
    return std::isalpha(ch)? std::tolower(ch) : ch;
  }
};
 
int main() {
  std::string str = "THIS,IS,THE,TEST,STRING.";
  
  std::transform(str.begin(), str.end(), str.begin(), Replacer());
  
  std::cout << str << std::endl;
  
  return 0; 
}
Результат: http://liveworkspace.org/code/94e942880f92afa50795cd398b85e39a.
0
slice
35 / 78 / 4
Регистрация: 04.11.2010
Сообщений: 249
04.11.2010, 23:07 #14
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Результат
фэйл: http://liveworkspace.org/code/f4928d517e42d2cd5bc922c5836c157a
0
CyBOSSeR
Эксперт С++
2306 / 1676 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2010, 23:10 #15
Цитата Сообщение от raal Посмотреть сообщение
прописных латинских букв
slice, читать умеем?
0
04.11.2010, 23:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2010, 23:10
Привет! Вот еще темы с ответами:

Напечатать только строчные русские буквы, входящие в текст - C++
Ребят помогите пожалуйста с задачкой: Дан текст из 60 литер. Напечатать только строчные русские буквы, входящие в этот текст. Код на си++....

Напечатать все слова последовательности, предварительно преобразовав каждое из них по следующему правилу - C++
Задача: Код: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main(){ char string; char *word1 = new...

Дана последовательность слов.Напечатать все слова, отличные от слова «по» - C++
задание со строками: Дана последовательность слов.Напечатать все слова, отличные от слова «по». помогите,пожалуйста!:cry:%-):swoon:

Поменять все строчные буквы на прописные, прописные на строчные - C++
Дана строка с некоторым текстом. Составить программу, которая меняет в этом тексте все строчные буквы на прописные, прописные на строчные и...


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

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

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