Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Kristinka!!
0 / 0 / 0
Регистрация: 19.09.2013
Сообщений: 39
#1

зачем нужно Временное значение? - C++

19.09.2013, 21:01. Просмотров 1091. Ответов 24
Метки нет (Все метки)

C++
1
2
3
4
5
6
void swapper(int &x,int &y)   //Функция перемены мест. Если параметры будут без ссылок, то эффекта не будет
{
   int temp;   //Временное значение
   temp=x;   //Запоминаем текущий элемент x во временное значение temp
    x=y;       //В текущее значение x записываем следующее за ним 
    y=temp;   //Текущее значение было изменено, но оно запомнено в temp, берем его оттуда
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2013, 21:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос зачем нужно Временное значение? (C++):

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? - C++
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может...

Зачем нужно u--? - C++
Как я понимаю это счетчик итераций !! но зачем он ?? #include <iostream> #include <stdio.h> #include <conio.h> using namespace...

Зачем нужно бинарное дерево? - C++
Какие задачи можно решать с помощью бинарного дерева?

Наследование , зачем оно нужно ? - C++
Добрый день , который день бьюс с темой Добавлено через 3 минуты Понимаю что можно создавать классы окон в Windows от родительского...

Зачем нужно закрывать файл? - C++
Зачем надо в конце выполнения программы использовать такую команду? stream.close();

Сортировка пузырьком. Зачем нужно 2 цикла? - C++
for(int j=1;j<=k;j++) for(int i=1;i<=k;i++) if(A<A) { max=A; A=A; A=max; ...

24
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
19.09.2013, 21:06 #2
Цитата Сообщение от Kristinka!! Посмотреть сообщение
зачем нужно Временное значение?
C++
1
2
3
4
5
void swapper(int &x, int &y)
{
    x = y;
    y = x;
}
какой результат будет думаю понятно

после первого оператора присваивания Переменная x навсегда потеряется
0
Kristinka!!
0 / 0 / 0
Регистрация: 19.09.2013
Сообщений: 39
19.09.2013, 21:11  [ТС] #3
Цитата Сообщение от _ Посмотреть сообщение
C++
1
2
3
4
5
void swapper(int &x, int &y)
{
    x = y;
    y = x;
}
какой результат будет думаю понятно

после первого оператора присваивания Переменная x навсегда потеряется
то есть Временные значения необходимы что бы после первого значения появлялось 2?
0
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 864
Записей в блоге: 1
19.09.2013, 21:14 #4
Цитата Сообщение от Kristinka!! Посмотреть сообщение
то есть Временные значения необходимы что бы после первого значения появлялось 2?
Ну смотри, допустим x=5,y=10

при присваивании x=y; значение 5 навсегда теряется.
То есть теперь х=10,y=10
и y=x уже ничего не изменит!
Поэтому мы значение 5 запоминаем в temp допустим!
И при y=temp все получится:
х=10,y=5
1
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
19.09.2013, 21:15 #5
Шкалата!!!
4
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
19.09.2013, 21:16 #6
Цитата Сообщение от ninja2 Посмотреть сообщение
Шкалата!!!
Гуру!!!
6
Kristinka!!
0 / 0 / 0
Регистрация: 19.09.2013
Сообщений: 39
19.09.2013, 21:17  [ТС] #7
Цитата Сообщение от ninja2 Посмотреть сообщение
Шкалата!!!
что поделить,только второй день изучаю
0
coloc
погромист
411 / 247 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
19.09.2013, 21:20 #8
ninja2, для тролинга нужно использовать другие ресурсы а не технической форум
Кликните здесь для просмотра всего текста

Не по теме:

ах да, всегда хотел сказать, ты сам себя ведешь как ,,шкалата,, ибо я на 60% уверен что ты ею являешься

1
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
19.09.2013, 21:24 #9
Цитата Сообщение от Kristinka!! Посмотреть сообщение
что поделить,только второй день изучаю
Ну ничо второй день не первый, мб через годок второй что нить и выучишь, со временем разберешься не переживай. Но ты вообще нулевой я тебе честно скажу, просто не люблю врать, но правда нулевущий. (ужас )
0
Kristinka!!
0 / 0 / 0
Регистрация: 19.09.2013
Сообщений: 39
19.09.2013, 21:27  [ТС] #10
Цитата Сообщение от ninja2 Посмотреть сообщение
Ну ничо второй день не первый, мб через годок второй что нить и выучишь, со временем разберешься не переживай. Но ты вообще нулевой я тебе честно скажу, просто не люблю врать, но правда нулевущий. (ужас )
а я и не спорю что пока ни чего особо не понимаю в этом языке программирования
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
19.09.2013, 21:47 #11
Kristinka!!, чтобы лучше понять как меняются значения двух переменных. приведу пример из жизни.
есть две чашки. в одной налит чай, в другой кофе. И теперь их содержимое нужно обменять. что делать? на ум только одно приходит, это взять какую-нибудь дополнительную посуду для временного хранения
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
19.09.2013, 22:26 #12
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от _ Посмотреть сообщение
Kristinka!!, чтобы лучше понять как меняются значения двух переменных. приведу пример из жизни.
есть две чашки. в одной налит чай, в другой кофе. И теперь их содержимое нужно обменять. что делать? на ум только одно приходит, это взять какую-нибудь дополнительную посуду для временного хранения
Как _ в жизни меняет значения:
Код
 |  1   |      |  2   |         |  1   |      |  2   |
 | чай  |      | кофе |  ---->  | чай  |      | кофе |
 \______/      \______/         \______/      \______/

                                       |  3   |
                                       |      |
                                       \______/
      
                                          |
                                          v

 |  1   |      |  2   |         |  1   |      |  2   |
 | кофе |      |      |         |      |      | кофе |
 \______/      \______/  <---=  \______/      \______/ 
                               
        |  3   |                       |  3   |
        | чай  |                       | чай  |
        \______/                       \______/
           
           |
           v

 |  1   |      |   2  |
 | кофе |      |  чай |
 \______/      \______/         |  1   |      |  2   |
                         ---->  | кофе |      | чай  |
        |   3  |                \______/      \______/ 
        |      |
        \______/
Как это обычно делает компилятор:
Код
 |  1   |      |  2   |         |  2   |      |  1   |
 | чай  |      | кофе |  ---->  | кофе |      | чай  |
 \______/      \______/         \______/      \______/
5
gray_fox
19.09.2013, 22:28
  #13

Не по теме:

Цитата Сообщение от _ Посмотреть сообщение
есть две чашки. в одной налит чай, в другой кофе. И теперь их содержимое нужно обменять. что делать?
xor swap!

1
zer0mail
2374 / 2004 / 199
Регистрация: 03.07.2012
Сообщений: 7,198
Записей в блоге: 1
20.09.2013, 01:24 #14
Когда что-то непонятно, можно спросить так: почему сделано так, когда можно сделать иначе (и это иначе короче/быстрее) ? Может, у ТС есть способ, как меньше чем за три опрации обменять 2 значения без временной переменной...
0
Бендерродригез
Сгибальщик
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
20.09.2013, 06:51 #15
Цитата Сообщение от zer0mail Посмотреть сообщение
Может, у ТС есть способ, как меньше чем за три опрации обменять 2 значения без временной переменной...
Без временной можно, но опять же за три операции:
C++
1
2
3
a += b;
b = a - b;
a -= b;
0
20.09.2013, 06:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2013, 06:51
Привет! Вот еще темы с ответами:

Зачем нужно private наследование в классах? - C++
Если можно, то покажите небольшой пример

Зачем нужно компилировать библиотеку C++ Box2d? - C++
Мне интересна причина того, почему разработчики некоторых C++ библиотек (в моей ситуации Box2d) не дают dll или lib библиотеки, а дают...

Конструкторы - что это и зачем нужно? - C++
Объясните, пожалуйста, для чего нужны конструкторы и деструкторы? Что это вообще?

Зачем нужно опережающее объявление класса в заголовке? - C++
Часто натыкаюсь на такой код: class NewType; class Class1 { public: Class1(); private: NewType *field; };


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

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

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