fork download
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. //Initialize array
  6. int arr[] = {1, 2, 3, 4, 5};
  7. //Calculate length of array arr
  8. int length = sizeof(arr)/sizeof(arr[0]);
  9. //n determine the number of times an array should be rotated
  10. int n = 5;
  11.  
  12. //Displays original array
  13. printf("Original array: \n");
  14. for (int i = 0; i < length; i++) {
  15. printf("%d ", arr[i]);
  16. }
  17.  
  18. //Rotate the given array by n times toward right
  19. for(int i = 0; i < n; i++){
  20. int j, last;
  21. //Stores the last element of the array
  22. last = arr[length-1];
  23.  
  24. for(j = length-1; j > 0; j--){
  25. //Shift element of array by one
  26. arr[j] = arr[j-1];
  27. }
  28. //Last element of array will be added to the start of array.
  29. arr[0] = last;
  30. }
  31.  
  32. printf("\n");
  33.  
  34. //Displays resulting array after rotation
  35. printf("Array after right rotation: \n");
  36. for(int i = 0; i< length; i++){
  37. printf("%d ", arr[i]);
  38. }
  39. return 0;
  40. }
Success #stdin #stdout 0s 5700KB
stdin
Standard input is empty
stdout
Original array: 
1 2 3 4 5 
Array after right rotation: 
1 2 3 4 5