m tam ədədlərdən ibarət giriş massivini göstərsin. Əvvəlcə, massivin son elementini çıxaracağıq m[n – 1]. Sonra isə, m[0]-dan m[n – 2]-yə qədər olan bütün ədədləri ardıcıl olaraq çıxaracağıq.
Massivin elementlərinin həqiqətən də yenidən düzülüşü üçün elementi (i – 1)-ci hücrədən i-ci hücrəyə köçürmək lazımdır, 1 ≤ i ≤ n – 1. Ayrıca, (n – 1)-ci hücrədəki elementi 0-cı hücrəyə köçürmək lazımdır.
Alqoritm İcraatı
Tam ədəd massivi m elan edin.
int m[101];Giriş ədədlərini m massivinə oxuyun.
scanf("%d",&n);
for(i = 0; i < n; i++)
scanf("%d",&m[i]);Əvvəlcə, massivin son ədədini m[n – 1] çıxaracağıq - bu, elementlərin bir mövqe sağa dövr etməsindən sonra ilk olacaq.
printf("%d",m[n-1]);Sonra, sıfırıncı m[0]-dan sonuncuya qədər m[n – 2] bütün ədədləri çıxaracağıq.
for(i = 0; i < n - 1; i++)
printf(" %d",m[i]);
printf("\n");Elementlərin yenidən düzülüşü ilə icraat
Tam ədəd massivi m elan edin.
int m[101];Giriş ədədlərini m massivinə oxuyun.
scanf("%d",&n);
for(i = 0; i < n; i++)
scanf("%d",&m[i]);Son elementi m[n – 1] temp dəyişənində saxlayın.
temp = m[n-1];Elementi m[i – 1]-dən m[i]-yə köçürün (1 ≤ i ≤ n – 1).
for(i = n - 1; i > 0; i--)
m[i] = m[i - 1];Massivin sonundakı elementi massivin başlanğıcına təyin edin.
m[0] = temp;Nəticədə alınan massivi çıxarın.
for(i = 0; i < n; i++)
printf("%d ",m[i]);
printf("\n");STL rotate ilə icraat
Tam ədəd vektoru elan edin.
vector<int> v;Giriş məlumatlarını oxuyun.
scanf("%d", &n);
v.resize(n);
for (i = 0; i < n; i++)
scanf("%d", &v[i]);Massiv elementlərinin dövr etməsini həyata keçirin ki, son element ilk olsun.
rotate(v.begin(), v.begin() + n - 1, v.end());Nəticədə alınan massivi çıxarın.
for (i = 0; i < n; i++)
printf("%d ", v[i]);
printf("\n");Dinamik massiv ilə icraat
#include <stdio.h>
int i, n, a;
int *m;
int main(void)
{
scanf("%d",&n);
m = new int[n];
for(i = 0; i < n; i++)
scanf("%d",&m[i]);
printf("%d",m[n-1]);
for(i = 0; i < n - 1; i++)
printf(" %d",m[i]);
printf("\n");
delete[] m;
return 0;
}Java İcraatı
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int m[] = new int[n];
for(int i = 0; i < n; i++)
m[i] = con.nextInt();
System.out.print(m[n-1]);
for(int i = 0; i < n - 1; i++)
System.out.print(" " + m[i]);
System.out.println();
con.close();
}
}Python İcraatı
n = int(input())
v = list(map(int, input().split()))
v = v[-1:] + v[:-1]
for num in v:
print(num, end=" ")
print()