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

Обмен значений двух переменных типа char

14.03.2020, 18:50. Показов 4579. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не знаю как вообще использовать такой тип как char, сама программа звучит так:

Даны значения двух переменных символьного типа a, b.
Поместите в переменную a значение переменной b, в переменную b значение переменной a.
Пример входных данных
x y
Пример выходных данных
y x

Формат ввода
Строка содержит первый символ, пробел и второй символ.

Формат вывода
Строка содержит первый символ, пробел и второй символ.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2020, 18:50
Ответы с готовыми решениями:

Обмен значений двух переменных
Ниже решение задачи (Задана целочисленная последовательность A = (a i), i = 1..n, n <= 100.* Вывести индексы последовательности в*том...

Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной переменной
3 задача с++ Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной переменной типа int?...

Обмен значений 2-х переменных типа BYTE
Как поменять значения 2-х переменных байтового размера? Пробую через push, но при компиляции выдаются предупреждения "Illegal size for...

13
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
14.03.2020, 20:34
vuktory1945, как-то получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main() 
{
    char str[4];
    cout << "Input simbols: ";
  cin.getline(str, 4);
  cout << str << endl;
  swap (str[0], str[2]);
  cout << str << endl;
    system("pause");
    return 0;
}
1
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
14.03.2020, 20:38
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main() 
{
    char a,b,t;
    cout << "Input simbols: ";
    cin>>a>>b;
    t=a;a=b;b=t;
    cout << a<<' '<<b << endl;
    system("pause");
    return 0;
}
1
92 / 65 / 27
Регистрация: 23.01.2020
Сообщений: 156
14.03.2020, 20:41
Argus19, в условии ведь ничего нет про массив. Если я правильно понял, то тут обычный обмен переменными
C++
1
2
3
4
5
6
7
char a, b;
    cin >> a >> b;
    char temp;
    temp = a;
    a = b;
    b = temp;
    cout << a << " " << b << endl;
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
14.03.2020, 20:53
zss, Mimilun,
Цитата Сообщение от vuktory1945 Посмотреть сообщение
Формат ввода
Строка содержит первый символ, пробел и второй символ.
Т.е, если я правильно понял ТС, надо пробел вводить тоже.
Цитата Сообщение от Mimilun Посмотреть сообщение
в условии ведь ничего нет про массив.
Тогда вводить в строку.
Хотя указаны две переменных. Не пойму, зачем нужен пробел.
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
14.03.2020, 20:56
Цитата Сообщение от Argus19 Посмотреть сообщение
надо пробел вводить тоже
функция
C++
1
istream& operator>>(istream&,data&)
перегружена для основных типов так, что она пропускает все пробельные символы.
Поэтому, пробел вводить не надо.
1
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
14.03.2020, 21:33
Цитата Сообщение от zss Посмотреть сообщение
функция operator>> пропускает все пробельные символы.
Поэтому, пробел вводить не надо.
Я об этот пробел весь мозг сломал.
Пробел вводить надо, как просит ТС, но он проигнорируется.
Сократил одну переменную.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main() 
{
    char a,b;
    cout << "Input simbols: ";
    cin >> a >> b;
    swap (a, b);
    cout << a <<' '<< b << endl;
    system("pause");
    return 0;
}
Добавлено через 24 минуты
Почитал:
https://ru.cppreference.com/w/cpp/algorithm/swap
std::swap
Алгоритмы

Определён в заголовочном файле <algorithm>
Определён в заголовочном файле<utility>

(до C++11)
(начиная с C++11)
У меня VS2010. Почему алгоритм swap работает без включения заголовков?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
14.03.2020, 22:11
Цитата Сообщение от Argus19 Посмотреть сообщение
Почему алгоритм swap работает без включения заголовков?
Его подключают большинство стандартных заголовков(нужная функция, сам понимаешь)
0
 Аватар для Argus19
1427 / 444 / 78
Регистрация: 24.09.2017
Сообщений: 2,525
Записей в блоге: 22
14.03.2020, 22:16
Цитата Сообщение от zayats80888 Посмотреть сообщение
нужная функция, сам понимаешь
Ещё как!
И, что характерно, не изменяет размер .exe по сравнению с использованием дополнительной переменной.
Для интереса попробовал, удалив промежуточную переменную, произвести обмен через стек. Размер .exe вырос на 20 кБ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stack>  // подключаем библиотеку для 
                  // использования стека
#include <iostream>
using namespace std;
int main() 
{
     stack <char> steck;  // создаем стек
    char a,b;
    cout << "Input simbols: ";
    cin>>a>>b;
    steck.push(a);  // добавляем
    a=b; b=steck.top();
    cout << a<<' '<<b << endl;
    system("pause");
    return 0;
}
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
14.03.2020, 22:26
C++
1
2
3
4
5
6
7
8
   char a,b;
    cout << "Input simbols: ";
 
    cin >> a >> b;
    a ^= b;
    b ^= a;
    a ^= b;
    cout<<a<<" "<<b;
0
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
14.03.2020, 22:33
C++
1
2
cin >> a >> b;
cout << b << " " << a;
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
14.03.2020, 22:49
AlexVRud,
Цитата Сообщение от vuktory1945 Посмотреть сообщение
Поместите в переменную a значение переменной b, в переменную b значение переменной a.
0
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
15.03.2020, 00:18
повар1, а теперь читаем дальше. Про входные и выходные данные.
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
15.03.2020, 09:17
AlexVRud, а теперь попробуй так "cout<<a;" и сравни с тем что требует задача.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.03.2020, 09:17
Помогаю со студенческими работами здесь

Обмен значений двух целочисленных переменных
Напишите программу, которая считывает значения двух целочисленных переменных a и b, затем меняет их значения местами (то есть в переменной...

Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной переменной типа int
Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной переменной типа int? Объем выделяемого...

Сложение значений переменных типа char
char a = '5'; char b = '4'; int g = a + b; textBox1.Text = g.ToString(); Получается... 105!!! Почему???

Обмен значений двух четырехбайтовых переменных без использования xchg
Добрый вечер! Подскажите, пожалуйста, как можно реализовать обмен значений двух четырехбайтовых переменных без использования xchg? ...

Обмен значений двух переменных без использования дополнительной переменной
Как сделать обмен значений двух переменных без использования дополнительной переменной?


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru