Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8
1

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

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

Author24 — интернет-сервис помощи студентам
Дана последовательность, содержащая от 1 до 30 прописных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать эту же последовательность слов, преобразовав все буквы в строчные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2010, 19:46
Ответы с готовыми решениями:

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

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

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

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

19
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
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
Заблокирован
04.11.2010, 19:57 3
ForEveR, strlen в условии цикла, ужас.
1
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8
04.11.2010, 20:02  [ТС] 4
а можно ж использовать strlwr для преобразования?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
04.11.2010, 20:03 5
raal, Да

Добавлено через 40 секунд
tartikov, И в чем же ужас? Для таких программ норм. А так проще записать в переменную. Я как-то пользуюсь string и не парюсь.
1
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8
04.11.2010, 20:07  [ТС] 6
у меня ж строка со слов разделенных запятой, а в конце точка. как с этим быть?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
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
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8
04.11.2010, 20:24  [ТС] 8
а что делает isalpha и isupper? что такое 0x20?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
04.11.2010, 20:27 9
raal, 0x20=32 в десятичной системе счисления.
isalpha - проверяет ли символ буквой
isupper - находится ли символ в верхнем регистре
1
79 / 78 / 6
Регистрация: 04.11.2010
Сообщений: 249
04.11.2010, 22:36 10
Цитата Сообщение от ForEveR Посмотреть сообщение
*arr=*arr + 0x20;
омг. Ну и бред.
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
04.11.2010, 22:53 11
slice, В чем бред?
C++
1
*arr=*arr+32
меньший бред?
C++
1
*arr=*arr+040
?
0
79 / 78 / 6
Регистрация: 04.11.2010
Сообщений: 249
04.11.2010, 22:56 12
Цитата Сообщение от ForEveR Посмотреть сообщение
В чем бред?
В том, что это работает неверно
0
Эксперт С++
2348 / 1721 / 149
Регистрация: 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/... 398b85e39a.
0
79 / 78 / 6
Регистрация: 04.11.2010
Сообщений: 249
04.11.2010, 23:07 14
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Результат
фэйл: http://liveworkspace.org/code/... c5836c157a
0
Эксперт С++
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2010, 23:10 15
Цитата Сообщение от raal Посмотреть сообщение
прописных латинских букв
slice, читать умеем?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
04.11.2010, 23:14 16
slice, Доказательства приведете, что мой код не переводит прописные латинские буквы в строчные?
0
79 / 78 / 6
Регистрация: 04.11.2010
Сообщений: 249
04.11.2010, 23:15 17
CyBOSSeR
Вообще то, я считаю, что программист должен учитывать все варианты, а не следовать каким-то ограничениям, которые наложил первокурсник двоишник в своих требованиях.
Неужели Вы считаете иначе?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
04.11.2010, 23:15 18
slice, Если есть ТЗ, зачем выходить за него?
0
Заблокирован
04.11.2010, 23:18 19
setlocale(LC_ALL, "");
не?
0
Эксперт С++
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2010, 23:30 20
Цитата Сообщение от slice Посмотреть сообщение
Вообще то, я считаю, что программист должен учитывать все варианты
Подобные идеалистические соображения обычно приводят к тому, что называется параличом от анализа. Лучше воспринимать разработку ПО как итеративный процесс.
Цитата Сообщение от slice Посмотреть сообщение
Неужели Вы считаете иначе?
Мне больше импонирует принцип Do The Simplest Thing That Could Possibly Work.
Цитата Сообщение от Кент Бек
[...] лучше сделать простую вещь сегодня и заплатить чуточку больше завтра для того, чтобы модифицировать ее (если в этом возникнет необходимость), чем разработать более сложный код сегодня, а потом узнать, что этот код больше не нужен
2
04.11.2010, 23:30
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.11.2010, 23:30
Помогаю со студенческими работами здесь

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

Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней один раз
Не могу разобраться как переписать в с++ uses crt; var a: array of string; i,j,k,l: byte; ...

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru