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

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

Войти
Регистрация
Восстановить пароль
 
 
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
#1

Поменять 2 переменные. - C++

02.02.2010, 18:10. Просмотров 998. Ответов 19
Метки нет (Все метки)

Поменять 2 переменные. Без использования 3.
Можно использовать код асма.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2010, 18:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять 2 переменные. (C++):

Поменять местами переменные - C++
Здравствуйте! При решении задач, возник вопрос в правильности решения (код работает корректно, но сверяю свое решение с решением в интернет...

Поменять местами значения целых переменных А и В, не используя дополнительные переменные - C++
Задача 9. Поменять местами значения целых пере¬менных А и В, не используя дополнительные переменные. Задача 39. Во введенной строке...

Поменять местами переменные так, чтобы они оказались упорядоченными по убыванию - C++
Всем доброго времени суток. Нужна помощь с заданиями. Сам не могу сделать, потому что нет возможности работать на Си. Заранее премного...

Есть три переменные. Используя указатели на указатели, поменять значение максимальной и минимальной переменной - C++
Мой код. #include <iostream> #include <stdlib.h> #include<iomanip> using namespace std; void min_max(int*pa, int*pb,...

Создать программу обработки массивов структур используя структурные переменные и переменные типа объеденения - C++
Создать массив структур, каждая из которых состоит из следующих елементов: факультет, курс, группа, фамилия студента и екзаменационная...

Переменные,значение функции,вспомогательные переменные. - C++
1)Даны переменные A,B,C.Изменить их значения,переместив их содержимое из A-в B,B-в C,C-в A,и вывести новые значения переменных A,B,C. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
02.02.2010, 18:23 #2
BOR1K, подсказка - манипуляции с арфимтическими операциями)
Rustam
12 / 12 / 3
Регистрация: 05.09.2009
Сообщений: 440
02.02.2010, 18:23 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
     {
                              char variable1[80], variable2[80];
                              std::cout << "Введите первую переменную: ";
                              cin.getline (variable1, 80);
                              std::cout << "Введите вторую переменную: ";
                              cin.getline (variable2, 80);
                              std::cout << "\n";
                              std::cout << "Значение первой переменной " << variable2 << std::endl;
                              std::cout << "Значение второй переменной " << variable1 << std::endl;
                              }
                              system("PAUSE");
                              return EXIT_SUCCESS;
                              
}
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
02.02.2010, 18:25 #4
Rustam, круто..
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
02.02.2010, 18:26  [ТС] #5
Цитата Сообщение от Rustam Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <windows.h>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
     {
                              char variable1[80], variable2[80];
                              std::cout << "Введите первую переменную: ";
                              cin.getline (variable1, 80);
                              std::cout << "Введите вторую переменную: ";
                              cin.getline (variable2, 80);
                              std::cout << "\n";
                              std::cout << "Значение первой переменной " << variable2 << std::endl;
                              std::cout << "Значение второй переменной " << variable1 << std::endl;
                              }
                              system("PAUSE");
                              return EXIT_SUCCESS;
                              
}

Rustam
12 / 12 / 3
Регистрация: 05.09.2009
Сообщений: 440
02.02.2010, 18:31 #6
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
02.02.2010, 18:33  [ТС] #7
Блин, ребята выручайте
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
02.02.2010, 18:39 #8
std::swap(var1, var2);
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
02.02.2010, 18:43 #9
C
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
        int a, b;
        a=2;
        b=3;
        b*=a;
        a=b/a;
        b/=a;
        printf("a=%d\n", a);
        printf("b=%d\n", b);
        return 0;
}
Shved
9 / 9 / 1
Регистрация: 07.06.2009
Сообщений: 34
02.02.2010, 18:54 #10
Цитата Сообщение от BOR1K Посмотреть сообщение
Поменять 2 переменные. Без использования 3.
Можно использовать код асма.

a=a||b;
b=a||b;
a=a||b;

и будет счастье


или

a=a-b;
b=a+b;
a=b-a;
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.02.2010, 19:01 #11
BOR1K, самый простой вариант
C++
1
a ^= b ^= a ^= b;
или более правильная эта же запись, которая в отличие от первой также работает в C# и Java
C++
1
2
3
a ^= b;
b ^= a;
a ^= b;
Shved
9 / 9 / 1
Регистрация: 07.06.2009
Сообщений: 34
02.02.2010, 19:19 #12
Цитата Сообщение от M128K145 Посмотреть сообщение
BOR1K, самый простой вариант
C++
1
a ^= b ^= a ^= b;
или более правильная эта же запись, которая в отличие от первой также работает в C# и Java
C++
1
2
3
a ^= b;
b ^= a;
a ^= b;
Во, именно, я это и имел ввиду, просто не то поставил...не || , а ^ или xor на паскале)
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
02.02.2010, 19:44  [ТС] #13
А что значит этот оператор
^=
?
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.02.2010, 20:42 #14
Алгоритм обмена при помощи исключающего ИЛИ
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
02.02.2010, 20:48 #15
Цитата Сообщение от BOR1K Посмотреть сообщение
А что значит этот оператор ?
По всей видимости то же что и другие подобные операторы.
C++
1
a x= b;
аналогично
C++
1
a = a x b;
Где x - какой либо оператой. будь то \ * + - ^ или другой
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2010, 20:48
Привет! Вот еще темы с ответами:

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

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

Переменные в c++ - C++
Помогите разобраться в теории. Так вот допустим мы создаем переменную в стеке int a; тогда в стеке где то по адресу скажем 004 выделяется...

Переменные - C++
Вот есть переменная: float x=100.0f Что значит в конце буква f ?


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

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

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