Всем привет!
Я только недавно начала пробовать программировать на С++
Приступила к изучению массивов.
Решила сделать программу, сдвигающую циклично массив на некоторое число, для примера взяла цифру- единичку.
Вот как выглядит код:
#include<iostream>
using namespace std;
int main() {
int n;
int const k = 5;
int mas[k] = {1,2,3,4,5};
int t = mas[k-1];
for (int i = k-2; i >=0; i--) {
mas[i+1] = mas[i];
}
mas[0] = t;
for (int i = 0; i < k; i++) {
cout << mas[i]<<" ";
}
}
А потом подумала, что хочу не статичную программу, а ту, что сдвигает циклично массив не на заранее придуманное число, а на число, которое пользователь введёт с клавиатуры!
Решила слегка переработать код выше, вот что получилось:
#include<iostream>
using namespace std;
int main() {
int n;
int const k = 5;
int mas[k] = {1,2,3,4,5};
int t = mas[k-1];
cin >> n;
for (int i = k-2; i >=0; i--) {
mas[(i+n)%k] = mas[i];
}
for (int i = 0; i < k; i++) {
cout << mas[i]<<" ";
}
}
Но, к сожалению, программа не работает, а я в упор не понимаю, как её сделать (
К сожалению, помочь мне некому, а брать готовый код с форумов я не хочу, потому пишу сюда.
Заранее извините, пожалуйста, если этот вопрос для опытных покажется простым и глупым, но я пока учусь, не бейте тапками)
Можете, пожалуйста, дать небольшую подсказку, как это решить? Мне не нужен код, я хочу сама допридумать решение☺
Всем хорошего дня!