Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
1 / 1 / 4
Регистрация: 24.10.2014
Сообщений: 200

Процедура ShiftLeft3 сдвиг влево трёх чисел

28.10.2015, 01:32. Показов 1678. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
void ShiftLeft3(double & A,double & B,double & C)
    {
    double temp = C;
    C = A;
    A = B;
    B = temp;
    }
 
int main()
    {
    double A1 = 2, B1 = 3, C1 = 4;
    double A2 = -1.0, B2 = 2.718281828459045,C2 = 3.1415926535;
 
    ShiftLeft3(A1,B1,C1);
    ShiftLeft3(A2,B2,C2);
 
cout << A1 << ' ' << B1 << ' ' << C1 << endl
        << A2 << ' ' << B2 << ' ' << C2 << endl;
    }
Здравствуйте, скажите, что обозначает тут temp и что даёт & в строке?
C++
1
void ShiftLeft3(double & A,double & B,double & C)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2015, 01:32
Ответы с готовыми решениями:

Описать процедуру ShiftLeft3(A,B,C), выполняющую левый циклический сдвиг
Описать процедуру ShiftLeft3(A,B,C), выполняющую левый циклический сдвиг: значение А переходит в значение С, В в А, С переходит в В. (А,В,С...

Где и когда уместно применять операции << (сдвиг влево) и >> (сдвиг вправо)?
Кто может привести пример , когда нужно использовать операции: 1) &lt;&lt; сдвиг влево 2) &gt;&gt; сдвиг вправо

Сдвиг влево
Напишите программу, которая циклически сдвигает элементы массива влево (0-й элемент становится последним, 1-й становится 0-м, ...,...

7
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
28.10.2015, 01:46
Цитата Сообщение от ITALIANO Посмотреть сообщение
Здравствуйте, скажите, что обозначает тут temp и что даёт & в строке?
Здравствуйте.
temp - тоже что и обычно,временную переменную.
& - ссылку.
Совет: уберите и посмотрите что оно там даёт.
0
1 / 1 / 4
Регистрация: 24.10.2014
Сообщений: 200
28.10.2015, 02:07  [ТС]
Спасибо, я её уже убирал, после этого значения были стандартными т.е. сдвига не было...
То, что temp это переменная я не сомневался просто не знаю за что она отвечает...
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,239
28.10.2015, 07:18
Лучший ответ Сообщение было отмечено ITALIANO как решение

Решение

Чтобы поменять местами 2 предмета надо
1. Вынуть первый и куда-то положить. Обзовем это куда-то temp.
2. Т.к. место первого предмета освободилось, кладем туда второй.
3. Теперь освободилось место второго предмета - кладем туда temp.
У Вас аналогично, только предметов три.

По поводу ссылки(&).
Если переменные передаются в функцию обычным образом (по значению),
то в функции оказывается копия. Соответственно при изменении копии оригинал не меняется.
При передаче по ссылке формальный параметр становится синонимом фактического параметра
(т.е. A - синоним A1, B - B1, C - C1), соответственно, когда меняется он, то меняется и оригинал.
1
1 / 1 / 4
Регистрация: 24.10.2014
Сообщений: 200
29.10.2015, 22:46  [ТС]
Благодарю, вы меня выручили!
0
1 / 1 / 4
Регистрация: 24.10.2014
Сообщений: 200
05.12.2015, 04:24  [ТС]
У меня ещё вопрос. А как можно реализовать сдвиг в том случае, если например я хочу ввести значения сам? Т.е. я ввожу значения, они выводятся на экран, а потом и сам сдвиг выводится на экран после вывода значений... Как-то так...

Добавлено через 50 минут
Не подскажите как можно реализовать?

Я просто переделывал то что было выше, но у пеня почему-то именно предыдущие значения выводятся... то что я задаю, он даже не выполняет...

Добавлено через 12 минут
вот сам код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
void ShiftLeft3(double A, double B, double C)
    {
    double temp = C;
    C = A;
    A = B;
    B = temp;
    }
 
int main()
    {double A, B, C;
    cin>>A>>B>>C;
 
cout<<A<<B<<C<<endl;
    }
Добавлено через 27 минут
Помогите пожалуйста!...

Добавлено через 1 час 50 минут
Ну хоть кто-нибудь посмотрите, что можно сделать?...

Добавлено через 3 часа 15 минут
zss, У меня ещё вопрос. А как можно реализовать сдвиг в том случае, если например я хочу ввести значения сам? Т.е. я ввожу значения, они выводятся на экран, а потом и сам сдвиг выводится на экран после вывода значений... Как-то так...
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,239
05.12.2015, 09:53
Почему у Вас не отложилось, что такие параметры надо передавать ПО ССЫЛКЕ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
 
void ShiftLeft3(double& A, double& B, double& C)
{
    double temp = C;
    C = A;
    A = B;
    B = temp;
}
 
int main()
{
   double x,y,z;
   cout<<"A=?";
   cin>>x;
   cout<<"B=?";
   cin>>y;
   cout<<"C=?";
   cin>>z;
   ShiftLeft3(x,y,z);
   cout<<x<<' '<<y<<' '<<z<<endl;
}
0
1 / 1 / 4
Регистрация: 24.10.2014
Сообщений: 200
06.12.2015, 20:17  [ТС]
zss, Спасибо большое я сам уже всё сделал, просто ночью плохо думается, а программа работает, проблема была в месте хранения самой программы.
Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
void ShiftLeft3(double & A,double & B,double & C)
    {
    double temp = C;
    C = A;
    A = B;
    B = temp;
    }
 
int main()
    {
    double A, B, C;
    cin>> A >> B >> C;
    cout<<A<<B<<C<<endl;
 ShiftLeft3(A,B,C);
cout<<A<<B<<C<<endl;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2015, 20:17
Помогаю со студенческими работами здесь

Битовый сдвиг влево
Спомощью цикла for и битового сдвига влево вывести степень двойки от 4 до 1024 в целом та 16-нам форматах

Сдвиг символа влево
Помогите осуществить сдвиг символа (буквы) из циклического алфавита на n влево. То есть, например, на вход методу дается буква 'A' и число...

Циклический сдвиг влево
Помогите написать программу которая будет осуществлять циклический сдвиг влево введённого числа на N разрядов (например, при сдвиге числа...

Сдвиг слов влево
В переменной a есть строка из 5 слов. Как в цикле сделать сдвиг каждого слова влево и вывести каждый измененный результат? Например...

Логический сдвиг влево
unsigned __int64 number = 239176053778592; ClongNumber c(number); c.print(); for(int i = 0; i &lt; 18; i++) { unsigned...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru