Задача в R studio.

Вопросы по статистическому пакету R. Не обязательно гео.
Ответить
Kate_01
Новоприбывший
Сообщения: 2
Зарегистрирован: 05 ноя 2017, 15:49
Репутация: 0
Откуда: Москвa

Задача в R studio.

Сообщение Kate_01 » 05 ноя 2017, 15:52

Помогите решит, пожалуйста.
Дан массив X[1..N]. Необходимо циклически сдвинуть его на k элементов вправо (т.е. элемент X после сдвига должен стоять на месте X[i+k]; тут мы считаем что за X[N] следует X[1]). Разрешается использовать только несколько дополнительных слов памяти (Дополнительного массива заводить нельзя!).

gamm
Гуру
Сообщения: 2620
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 551
Ваше звание: программист
Откуда: Казань

Re: Задача в R studio.

Сообщение gamm » 06 ноя 2017, 11:09

опять школьники с домашними заданиями ... для сдвига на к=1 выньте первый, сдвиньте остальных на одну позицию (двигаясь справа налево), и вставьте вынутого на последнее место. Повторите к раз.

Kate_01
Новоприбывший
Сообщения: 2
Зарегистрирован: 05 ноя 2017, 15:49
Репутация: 0
Откуда: Москвa

Re: Задача в R studio.

Сообщение Kate_01 » 22 ноя 2017, 21:56

Проверьте код, пожалуйста. Можно ли решить задачу по-другому?

x<-c(1,2,3,4,5,6,7)
k<-9
k<-k%%length(x)
j<-1
l<-length(x)-k
while(j<=l){
a<-x[j]
x[j]<-x[l]
x[l]<-a
l=l-1
j=j+1
}
i<-length(x)
t=length(x)-k+1
while(t<=i){
a<-x[t]
x[t]<-x
x<-a
t=t+1
i=i-1
}
i<-length(x)
j<-1
while(j<=i){
a<-x[j]
x[j]<-x
x<-a
j=j+1
i=i-1
}
x

Ответить

Вернуться в «R»