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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.77
mc.Duck
Заблокирован
#1

Есть две переменные типа int. Обменять их значения без использования третьей переменной - C++

18.11.2011, 14:28. Просмотров 3909. Ответов 9
Метки нет (Все метки)

Вот давно пытался, но не получалось реализовать в исходном коде такую задачу:
"Есть две переменные типа int. Обменять их значения без использования третьей переменной"
У кого какие идеи?
 Комментарий модератора 
Название темы должно максимально близко соответствовать её содержимому
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2011, 14:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Есть две переменные типа int. Обменять их значения без использования третьей переменной (C++):

Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из э - C++
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны,...

Создайте класс Тест, содержащий две закрытые переменные типа int с именами count и max - C++

Поменять местами значения двух переменных без использования дополнительной переменной - C++
4. Написать программу, которая меняет местами значения двух переменных без использования дополнительной переменной.

Записать адрес переменной произвольного типа в переменную типа int - C++
Здравствуйте, есть структура __packed struct myStruct{ uint32 HisCh; uint32 sNo; uint16 tNo; uint32 reserv; };

Есть переменная типа char содержащая цифру; как записать это значение в переменную типа int? - C++
Пожалуйста, напомните стандартную функцию

Даны две переменные целого типа: A и B. - C++
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.11.2011, 14:31 #2
Это детская задача
a += b;
b = a - b;
a -= b;

или так можно:
a ^= b;
b ^= a;
a ^= b;
mc.Duck
Заблокирован
18.11.2011, 14:33  [ТС] #3
Thinker, ох, спасибо огромное! Детская задача, а я все таки не додумался!
DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
18.11.2011, 14:36 #4
Всё очень просто:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int a,b;
    cout<<"Enter to numbers "<<endl;
    cin>>a>>b;
    cout<<"Before changing"<<endl;
    cout<<a<<endl;
    cout<<b<<endl;
    a=a+b;
    b=a-b;
    a=a-b;
    cout<<"After changing"<<endl;
    cout<<a<<endl;
    cout<<b<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Bers
Заблокирован
18.11.2011, 14:40 #5
http://www.cplusplus.com/reference/algorithm/swap/
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
18.11.2011, 14:43 #6
Если на С++, то не мудрствуя лукаво
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm>
    
int main(){
    int a = 13, b = 69;
    
    std::cout << "A = " << a << " B = " << b << std::endl;
    std::swap(a, b);
    std::cout << "A = " << a << " B = " << b << std::endl;
    
    return 0;
}
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
18.11.2011, 14:43 #7
Bers, там 3 используется же
mc.Duck
Заблокирован
18.11.2011, 14:46  [ТС] #8
easybudda, спасибо за функцию
C++
1
swap(int int);
Рулик
8 / 8 / 0
Регистрация: 14.11.2011
Сообщений: 54
18.11.2011, 14:58 #9
Метод 3-х стаканов.
a=a+b
b=a-b
a=a-b
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.11.2011, 15:06 #10
Цитата Сообщение от Рулик Посмотреть сообщение
Метод 3-х стаканов.
a=a+b
b=a-b
a=a-b

Не по теме:

А где здесь 3 стакана?))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2011, 15:06
Привет! Вот еще темы с ответами:

Преобразование int и double в char без использования sprintf() - C++
Здравствуйте, ув форумчани! Подскажите пожалуйста, какими инструментами С++ можно преобразовать int, double в char, и самое главное, что...

Преобразование char в int без использования функций библиотеки С - C++
Собственно САБЖ имеется переменная char c='123'; требуется поместить ее в целочисленную переменную например int k; так чтобы в нее...

Значение переменной типа int - C++
Я хочу присвоить переменной типа int значение 2147483648, а в gdb я посмотрел значение переменной и оно оказалось равным -2147483648, в чем...

Нужно сравнить две переменные типа string - C++
Мне нужно сравнить 2 переменные типа string,нашел эту функцию,но почему то у меня выдает ошибку Error:class &quot;std...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.11.2011, 15:06
Ответ Создать тему
Опции темы

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