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

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

Войти
Регистрация
Восстановить пароль
 
Ханапов
2 / 2 / 1
Регистрация: 26.01.2013
Сообщений: 59
#1

Циклический сдвиг - C++

16.10.2013, 21:42. Просмотров 428. Ответов 3
Метки нет (Все метки)

Ребята, в чем может быть проблема? Надо организовать ф-цию циклического сдвига вправо. ТО бишь x->y, y->z, z->x. Что я делаю не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <conio.h>
using namespace std;
void ShiftRight(double x,double y,double z);
 {
   double t;
   t=x;
   x=y;
   y=z;
   z=t;
 }
int _tmain(int argc, _TCHAR* argv[])
{
    int a,b,c;
    cin >> a >> b >> c;
    ShiftRight(a,b,c);
    cout << a << b <<c;
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 21:42     Циклический сдвиг
Посмотрите здесь:

Циклический сдвиг массива C++
C++ Циклический сдвиг.
Циклический сдвиг столбцов C++
C++ циклический сдвиг
Циклический сдвиг битов! C++
C++ Циклический сдвиг массива
C++ Циклический сдвиг матрицы
Циклический сдвиг числа C++
C++ Циклический сдвиг
Циклический сдвиг массива C++
Циклический сдвиг битов C++
C++ Циклический сдвиг влево

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15540 / 9882 / 1484
Регистрация: 24.12.2010
Сообщений: 18,487
16.10.2013, 21:46     Циклический сдвиг #2
Цитата Сообщение от Ханапов Посмотреть сообщение
в чем может быть проблема?
Ты меняешь копии элементов, а они сами остаются не тронутыми. Тема, которая ждет твоего внимания - "Передача параметров по значению"
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
16.10.2013, 21:53     Циклический сдвиг #3
Ханапов,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
using namespace std;
 
void ShiftRight(double &x,double &y,double &z) {
   double t;
   t=x;
   x=y;
   y=z;
   z=t;
}
 
int main()
{
    double a,b,c;
    cin >> a >> b >> c;
    ShiftRight(a,b,c);
    cout << a << b <<c;
    getch();
    return 0;
}
Байт
Эксперт C
15540 / 9882 / 1484
Регистрация: 24.12.2010
Сообщений: 18,487
16.10.2013, 22:14     Циклический сдвиг #4
Мне больше нравится такой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
using namespace std;
 
void ShiftRight(double *x,double *y,double *z) {
   double t;
   t=*x;
   *x=*y;
   *y=*z;
   *z=t;
}
 
int main()
{
    double a,b,c;
    cin >> a >> b >> c;
    ShiftRight(&a, &b, &c);
    cout << a << b <<c;
    getch();
    return 0;
}
хотя оба варианта АБСОЛЮТНО ИДЕНТИЧНЫ. newb_programmer, ваш вариант есть просто другая запись моего.

Не по теме:

И вот я до сих пор не могу понять, зачем создателям С++ понадобилось на ровном месте вводить новые сущности. Да еще временами сбивающие с толку.

Yandex
Объявления
16.10.2013, 22:14     Циклический сдвиг
Ответ Создать тему
Опции темы

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