Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
plejerka
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 40
1

Большие буквы O заменить на маленькие

13.03.2017, 15:35. Просмотров 1050. Ответов 13
Метки нет (Все метки)

Объясните где я сделал ошибку?
Задание: все введенные большие буквы O заменить на маленькие.
- он мне почему то все на оборот делает то есть, введенная маленькая буква o будит большой O.

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 <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
 
int main()
{
    char sym = 'O';
    char sym2 = 'o';
    int i = 0;
    char str_arr[10];
    printf("BBEDUTE TEKCT:");
    scanf("%s", str_arr);
    for (i = 0; i < strlen(str_arr); i++)
        while (str_arr[i])
        {
            if (str_arr[i] == sym2)
                str_arr[i] = toupper(str_arr[i]);
            std::cout << str_arr[i];
            i++;
        }
    std::cout << std::endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2017, 15:35
Ответы с готовыми решениями:

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

Заменить в файле все большие латинские буквы на маленькие русские
Добрый вечер. Помогите пожалуйста. Нужно заменить в файле все большие латинские...

Ввести строку символов и заменить большие буквы английского алфавита в диапазоне от ‘G’ до ‘V’ на маленькие
Помогите выполнить задание: Ввести строку символов и заменить большие буквы...

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

Выбираем маленькие и большие буквы
l6hIun# c2/4l3H5# LHhKj87Gt^# Дано какой-то такой набор символов. С первой...

13
MrGluck
Модератор
Эксперт CЭксперт С++
8102 / 4953 / 1436
Регистрация: 29.11.2010
Сообщений: 13,439
13.03.2017, 15:39 2
Цитата Сообщение от plejerka Посмотреть сообщение
toupper
Приводит в верхний регистр. Для нижнего используйте tolower.
У вас от С++ тут только вывод в двух местах.
1
_Ivana
3236 / 1863 / 235
Регистрация: 01.03.2013
Сообщений: 5,108
Записей в блоге: 5
13.03.2017, 15:40 3
Цитата Сообщение от plejerka Посмотреть сообщение
он мне почему то все на оборот делает
Цитата Сообщение от plejerka Посмотреть сообщение
= toupper
ин тересно по чему же он делает на обо рот....
1
plejerka
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 40
13.03.2017, 15:43  [ТС] 4
Цитата Сообщение от MrGluck Посмотреть сообщение
У вас от С++ тут только вывод в двух местах.
не понял вас?! программу что ли не в C++ сделал? =D
0
zss
Модератор
Эксперт С++
7412 / 6802 / 4302
Регистрация: 18.12.2011
Сообщений: 17,969
Завершенные тесты: 1
13.03.2017, 15:43 5
Лучший ответ Сообщение было отмечено plejerka как решение

Решение

Цитата Сообщение от plejerka Посмотреть сообщение
if(str_arr[i] == sym2)
str_arr[i] = toupper(str_arr[i]);
C++
1
2
if(str_arr[i] == sym)
    str_arr[i] = sym2;
1
MrGluck
Модератор
Эксперт CЭксперт С++
8102 / 4953 / 1436
Регистрация: 29.11.2010
Сообщений: 13,439
13.03.2017, 15:56 6
Цитата Сообщение от plejerka Посмотреть сообщение
не понял вас?! программу что ли не в C++ сделал? =D
В С++ используют другие способы, у вас всё написано в С-стиле.
0
plejerka
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 40
13.03.2017, 15:58  [ТС] 7
Цитата Сообщение от MrGluck Посмотреть сообщение
В С++ используют другие способы, у вас всё написано в С-стиле.
тогда можете показать как правильно будит в C++ (с меня спасибка)
0
MrGluck
Модератор
Эксперт CЭксперт С++
8102 / 4953 / 1436
Регистрация: 29.11.2010
Сообщений: 13,439
13.03.2017, 15:58 8
Лучший ответ Сообщение было отмечено plejerka как решение

Решение

Например вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
 
int main()
{
    std::string str;
    std::cout << "Enter string: ";
    std::cin >> str;
    std::replace_copy(str.begin(), str.end(), std::ostream_iterator<char>(std::cout), 'O', 'o');
}
1
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,207
Записей в блоге: 1
Завершенные тесты: 2
13.03.2017, 16:03 9
Лучший ответ Сообщение было отмечено plejerka как решение

Решение

На с++ будет как-то так:
http://rextester.com/AZQQ68905
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
#include <string>
#include <iterator>
 
int main()
{
    std::string str;
    
    std::getline(std::cin, str);
    
    std::replace_copy(str.begin(), str.end(), std::ostream_iterator<char>(std::cout), 'O', 'o');
}
Добавлено через 1 минуту
Ой, меня опередили.
1
plejerka
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 40
13.03.2017, 16:11  [ТС] 10
Цитата Сообщение от MrGluck Посмотреть сообщение
Например вот так:
Цитата Сообщение от GbaLog- Посмотреть сообщение
Ой, меня опередили.
данную C++ изучаем в универе. там старые модули #include <iostream.h> и совсем все делает через программу 90-х еще
И так как вы написали нас даже не учат.
но все равно спасибо (буду знать хоть)
0
MrGluck
Модератор
Эксперт CЭксперт С++
8102 / 4953 / 1436
Регистрация: 29.11.2010
Сообщений: 13,439
13.03.2017, 16:22 11
Цитата Сообщение от plejerka Посмотреть сообщение
там старые модули #include <iostream.h> и совсем все делает через программу 90-х еще
Как вы думаете, что у вас спросят при устройстве на работу?
iostream.h - это ещё до первого стандарта С++ (98 года). Можете сдавать лабы в одном формате, а для себя писать в другом.
1
DevAlone
324 / 276 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
Завершенные тесты: 4
13.03.2017, 17:41 12
Цитата Сообщение от MrGluck Посмотреть сообщение
Как вы думаете, что у вас спросят при устройстве на работу?
Опыт работы? Диплом? Портфолио?
0
MrGluck
Модератор
Эксперт CЭксперт С++
8102 / 4953 / 1436
Регистрация: 29.11.2010
Сообщений: 13,439
13.03.2017, 18:17 13
Цитата Сообщение от DevAlone Посмотреть сообщение
Диплом?
Спрашивали только при оформлении (то есть когда уже устроился).
0
Photofenix
61 / 61 / 39
Регистрация: 18.11.2016
Сообщений: 514
Завершенные тесты: 1
13.03.2017, 20:21 14
C++
1
2
3
4
5
6
7
        char text [] = "НужнО заменить бОльшую букву О на маленькую букву О";
 
        for (int i(0); text[i]; i++){
            text[i] == 'О' ? text[i] = 'о' : false;
        }
        
        std::cout <<  text << std::endl;
1
13.03.2017, 20:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2017, 20:21

Ввести с клавиатуры стринговую константу, переводя маленькие буквы в большие
нужно сделать задачу &quot;Ввести с клавиатуры строковую константу, переводя...

Удалить все буквы "d", большие и маленькие, в строке S
Дана строка символов S. Напишите программу, которая удалит все буквы‘d’,...

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


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

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

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