C/C++

Помогите, пж, язык С/С++

6.2. Дано двузначное число. Получить (сохранить в переменной) число, образованное при
перестановке цифр заданного числа.
6.3. Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее в конце. Найти
(сохранить в переменной) полученное число.
1)
 int swapDigits2(int number) {
int high = number / 10;
int low = high - number * 10;
return low * 10 + high;
}
2)
 int rotateDigits3(int number) {
int high = number / 100;
int twoLow = number - high * 100;
return twoLow * 10 + high;
}
(можно, в принципе, оформить и одной функцией, принимающей второй параметр 10 или 100 - позиция старшей цифры, которая должна переехать назад)
ПП
Программист Программист
87 571
Лучший ответ
Юрий Кузьмин Спасибо, конечно, но я эту лабу уже давным-давно сдал и получил за неё свои баллы)))))
// 6.2
#include <iostream>
#include <string>
using namespace std;
unsigned shift(unsigned x, unsigned n) {
auto str = to_string(x);
for (auto i = 0U; i < n; ++i) {
auto back = str.back();
str.pop_back();
str = back + str;
}
return stoul(str);
}
int main() {
int a = 25;
cout << a << '\n';
a = shift(a, 1);
cout << a << '\n';
system("pause > nul");
}

// 6.3
#include <iostream>
#include <string>
using namespace std;
unsigned shift(unsigned x, unsigned n) {
auto str = to_string(x);
for (auto i = 0U; i < n; ++i) {
auto back = str.back();
str.pop_back();
str = back + str;
}
return stoul(str);
}
int main() {
int b = 371;
cout << b << '\n';
b = shift(b, 2);
cout << b << '\n';
system("pause > nul");
}