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

Указатели: поменять циклически местами значения переменных

17.06.2018, 23:10. Просмотров 850. Ответов 1
Метки нет (Все метки)

При помощи указателей на переменные a, b, c, поменять циклически местами
значения этих переменных — т. е. значение c должно оказаться в a, значение b — в c,
а значение a — в b
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2018, 23:10
Ответы с готовыми решениями:

Поменять местами значения целых переменных х и у не используя дополнительных переменных
Знаю, что это очень простая задача, но никак не могу сделать, пожалуйста помогите!!! Поменять...

Значения переменных X, Y, Z поменять местами так
Значения переменных X, Y, Z поменять местами так, чтобы они оказались упорядоченными по убыванию....

Поменять местами значения целых переменных
1.Поменять местами значения целых переменных Х, Y, Z таким образом, чтобы оказалось X\geq Y\geq Z.

Поменять местами значения целых переменных A и B
Поменять местами значения целых переменных. А и B, не используя дополнительные переменные.

Поменять местами значения вещественных переменных
Поменяйте местами значения вещественных переменных x и y

1
pavel2210057
59 / 26 / 24
Регистрация: 28.09.2017
Сообщений: 374
Завершенные тесты: 2
18.06.2018, 00:34 2
Лучший ответ Сообщение было отмечено Qetchet как решение

Решение

Qetchet, а зачем здесь цикл? Можно же так:
C++
1
2
3
4
5
6
7
8
int a = 0, b = 1, c = 2;                 //исходные переменные
int *pa = &a, *pb = &b, *pc = &c;        //указатели на них
int temp = *pa;                          //переменная, временно хранящая значение переменной
*pa = *pb;
*pb = temp;
temp = *pb;
*pb = *pc;
*pc = temp;
Здесь еще важно, что надо поменять местами: значение переменных, на которые ссылаются указатели или адреса, на которые указывают указатели. Первое - выше, а второе можно реализовать так:
C++
1
2
3
4
5
6
7
8
int a = 0, b = 1, c = 2;                 //исходные переменные
int *pa = &a, *pb = &b, *pc = &c;        //указатели на них
int *temp = pa;                      //переменная, временно хранящая адрес указателя
pa = pb;
pb = temp;
temp = pb;
pb = pc;
pc = temp;
Результат тот же, но принцип разный.

Добавлено через 5 минут
Если срочно нужно циклом, то можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main() {
    int a = 0, b = 1, c = 2;
    int *p[] = { &a, &b, &c };
 
    for (int i = 0; i < 2; i++) {
        int temp = *p[i];
        *p[i] = *p[i + 1];
        *p[i + 1] = temp;
    }
    
    system("pause");
    return 0;
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2018, 00:34

Поменять местами значения 2 переменных с использованием указателей
Здравствуйте, что-то недопонимаю.... # include &lt;iostream&gt; using namespace std; //3.Используя...

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

Значения переменных а, Ь и с поменять местами так, чтобы оказалось а >= Ь >= с.
Значения переменных а, Ь и с поменять местами так, чтобы оказалось а &gt;= Ь &gt;= с. помогите...


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

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

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