Print K th right rotation of array elements
Here given code implementation process.
// C Program
// Print K th right rotation of array elements
#include <stdio.h>
// Display array elements
void display(int arr[],int size)
{
printf("\n Array Elements \n");
for (int i = 0; i < size; ++i)
{
printf(" %d",arr[i]);
}
printf("\n");
}
// Prints the right k rotation of an array
void rightRoationByK(int arr[], int size , int k)
{
display(arr,size);
printf(" Rotated right by %d element \n",k);
int j = size - k ;
if(j < 0)
{
// When rotation more then size of array
j = -j;
}
for (int i = 0; i < size; ++i)
{
// display element
printf(" %d", arr[(j+i)%(size)]);
}
}
int main()
{
// Define array of integer elements
int arr1[] = {8,3,1,6,5,4,2,7,9};
int arr2[] = {1,2,3,4,5,6,7,8,9,10};
// Get the size
int size = sizeof(arr1)/sizeof(arr1[0]);
// Test Case A (of arr1)
rightRoationByK(arr1, size, 2);
rightRoationByK(arr1, size, 3);
// Get the size
size = sizeof(arr2)/sizeof(arr2[0]);
// Test Case B (of arr2)
rightRoationByK(arr2, size, 4);
rightRoationByK(arr2, size, 13);
return 0;
}
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
/*
Java program
Print K th right rotation of array elements
*/
public class RightRotation
{
// Display array elements
public void display(int[] arr, int size)
{
System.out.print("\n Array Elements \n");
for (int i = 0; i < size; ++i)
{
System.out.print(" " + arr[i] );
}
System.out.print("\n");
}
// Prints the right k rotation of an array
public void rightRoationByK(int[] arr, int size, int k)
{
display(arr, size);
System.out.print(" Rotated right by " + k + " element \n");
int j = size - k;
if (j < 0)
{
// When rotation more then size of array
j = -j;
}
for (int i = 0; i < size; ++i)
{
// display element
System.out.print(" " + arr[(j + i) % (size)] );
}
}
public static void main(String[] args)
{
RightRotation work = new RightRotation();
// Define array of integer elements
int[] arr1 =
{
8 , 3 , 1 , 6 , 5 , 4 , 2 , 7 , 9
};
int[] arr2 =
{
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
};
// Get the size
int size = arr1.length;
// Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2);
work.rightRoationByK(arr1, size, 3);
// Get the size
size = arr2.length;
// Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4);
work.rightRoationByK(arr2, size, 13);
}
}
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
// Include header file
#include <iostream>
using namespace std;
/*
C++ program
Print K th right rotation of array elements
*/
class RightRotation
{
public:
// Display array elements
void display(int arr[], int size)
{
cout << "\n Array Elements \n";
for (int i = 0; i < size; ++i)
{
cout << " " << arr[i];
}
cout << "\n";
}
// Prints the right k rotation of an array
void rightRoationByK(int arr[], int size, int k)
{
this->display(arr, size);
cout << " Rotated right by " << k << " element \n";
int j = size - k;
if (j < 0)
{
// When rotation more then size of array
j = -j;
}
for (int i = 0; i < size; ++i)
{
// display element
cout << " " << arr[(j + i) % (size)];
}
}
};
int main()
{
RightRotation work = RightRotation();
// Define array of integer elements
int arr1[] = {
8 , 3 , 1 , 6 , 5 , 4 , 2 , 7 , 9
};
int arr2[] = {
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
};
// Get the size
int size = sizeof(arr1) / sizeof(arr1[0]);
// Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2);
work.rightRoationByK(arr1, size, 3);
// Get the size
size = sizeof(arr2) / sizeof(arr2[0]);
// Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4);
work.rightRoationByK(arr2, size, 13);
return 0;
}
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
// Include namespace system
using System;
/*
C# program
Print K th right rotation of array elements
*/
public class RightRotation
{
// Display array elements
public void display(int[] arr, int size)
{
Console.Write("\n Array Elements \n");
for (int i = 0; i < size; ++i)
{
Console.Write(" " + arr[i]);
}
Console.Write("\n");
}
// Prints the right k rotation of an array
public void rightRoationByK(int[] arr, int size, int k)
{
display(arr, size);
Console.Write(" Rotated right by " + k + " element \n");
int j = size - k;
if (j < 0)
{
// When rotation more then size of array
j = -j;
}
for (int i = 0; i < size; ++i)
{
// display element
Console.Write(" " + arr[(j + i) % (size)]);
}
}
public static void Main(String[] args)
{
RightRotation work = new RightRotation();
// Define array of integer elements
int[] arr1 = {
8 , 3 , 1 , 6 , 5 , 4 , 2 , 7 , 9
};
int[] arr2 = {
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
};
// Get the size
int size = arr1.Length;
// Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2);
work.rightRoationByK(arr1, size, 3);
// Get the size
size = arr2.Length;
// Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4);
work.rightRoationByK(arr2, size, 13);
}
}
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
/*
Node Js program
Print K th right rotation of array elements
*/
class RightRotation
{
// Display array elements
display(arr, size)
{
process.stdout.write("\n Array Elements \n");
for (var i = 0; i < size; ++i)
{
process.stdout.write(" " + arr[i]);
}
process.stdout.write("\n");
}
// Prints the right k rotation of an array
rightRoationByK(arr, size, k)
{
this.display(arr, size);
process.stdout.write(" Rotated right by " + k + " element \n");
var j = size - k;
if (j < 0)
{
// When rotation more then size of array
j = -j;
}
for (var i = 0; i < size; ++i)
{
// display element
process.stdout.write(" " + arr[(j + i) % (size)]);
}
}
}
function main()
{
var work = new RightRotation();
// Define array of integer elements
var arr1 = [8, 3, 1, 6, 5, 4, 2, 7, 9];
var arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// Get the size
var size = arr1.length;
// Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2);
work.rightRoationByK(arr1, size, 3);
// Get the size
size = arr2.length;
// Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4);
work.rightRoationByK(arr2, size, 13);
}
main();
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
<?php
/*
Php program
Print K th right rotation of array elements
*/
class RightRotation
{
// Display array elements
public function display( & $arr, $size)
{
echo "\n Array Elements \n";
for ($i = 0; $i < $size; ++$i)
{
echo " ". $arr[$i];
}
echo "\n";
}
// Prints the right k rotation of an array
public function rightRoationByK( & $arr, $size, $k)
{
$this->display($arr, $size);
echo " Rotated right by ". $k ." element \n";
$j = $size - $k;
if ($j < 0)
{
// When rotation more then size of array
$j = -$j;
}
for ($i = 0; $i < $size; ++$i)
{
// display element
echo " ". $arr[($j + $i) % ($size)];
}
}
}
function main()
{
$work = new RightRotation();
// Define array of integer elements
$arr1 = array(8, 3, 1, 6, 5, 4, 2, 7, 9);
$arr2 = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Get the size
$size = count($arr1);
// Test Case A (of arr1)
$work->rightRoationByK($arr1, $size, 2);
$work->rightRoationByK($arr1, $size, 3);
// Get the size
$size = count($arr2);
// Test Case B (of arr2)
$work->rightRoationByK($arr2, $size, 4);
$work->rightRoationByK($arr2, $size, 13);
}
main();
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
# Python 3 program
# Print K th right rotation of array elements
class RightRotation :
# Display array elements
def display(self, arr, size) :
print("\n Array Elements ")
i = 0
while (i < size) :
print(" ", arr[i], end = "")
i += 1
print(end = "\n")
# Prints the right k rotation of an array
def rightRoationByK(self, arr, size, k) :
self.display(arr, size)
print(" Rotated right by ", k ," element ")
j = size - k
if (j < 0) :
# When rotation more then size of array
j = -j
i = 0
while (i < size) :
# display element
print(" ", arr[(j + i) % (size)], end = "")
i += 1
def main() :
work = RightRotation()
# Define array of integer elements
arr1 = [8, 3, 1, 6, 5, 4, 2, 7, 9]
arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Get the size
size = len(arr1)
# Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2)
work.rightRoationByK(arr1, size, 3)
# Get the size
size = len(arr2)
# Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4)
work.rightRoationByK(arr2, size, 13)
if __name__ == "__main__": main()
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
# Ruby program
# Print K th right rotation of array elements
class RightRotation
# Display array elements
def display(arr, size)
print("\n Array Elements \n")
i = 0
while (i < size)
print(" ", arr[i])
i += 1
end
print("\n")
end
# Prints the right k rotation of an array
def rightRoationByK(arr, size, k)
self.display(arr, size)
print(" Rotated right by ", k ," element \n")
j = size - k
if (j < 0)
# When rotation more then size of array
j = -j
end
i = 0
while (i < size)
# display element
print(" ", arr[(j + i) % (size)])
i += 1
end
end
end
def main()
work = RightRotation.new()
# Define array of integer elements
arr1 = [8, 3, 1, 6, 5, 4, 2, 7, 9]
arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Get the size
size = arr1.length
# Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2)
work.rightRoationByK(arr1, size, 3)
# Get the size
size = arr2.length
# Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4)
work.rightRoationByK(arr2, size, 13)
end
main()
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
/*
Scala program
Print K th right rotation of array elements
*/
class RightRotation
{
// Display array elements
def display(arr: Array[Int], size: Int): Unit = {
print("\n Array Elements \n");
var i: Int = 0;
while (i < size)
{
print(" " + arr(i));
i += 1;
}
print("\n");
}
// Prints the right k rotation of an array
def rightRoationByK(arr: Array[Int], size: Int, k: Int): Unit = {
this.display(arr, size);
print(" Rotated right by " + k + " element \n");
var j: Int = size - k;
if (j < 0)
{
// When rotation more then size of array
j = -j;
}
var i: Int = 0;
while (i < size)
{
// display element
print(" " + arr((j + i) % (size)));
i += 1;
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var work: RightRotation = new RightRotation();
// Define array of integer elements
var arr1: Array[Int] = Array(8, 3, 1, 6, 5, 4, 2, 7, 9);
var arr2: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Get the size
var size: Int = arr1.length;
// Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2);
work.rightRoationByK(arr1, size, 3);
// Get the size
size = arr2.length;
// Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4);
work.rightRoationByK(arr2, size, 13);
}
}
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
/*
Swift 4 program
Print K th right rotation of array elements
*/
class RightRotation
{
// Display array elements
func display(_ arr: [Int], _ size: Int)
{
print("\n Array Elements ");
var i: Int = 0;
while (i < size)
{
print(" ", arr[i], terminator: "");
i += 1;
}
print(terminator: "\n");
}
// Prints the right k rotation of an array
func rightRoationByK(_ arr: [Int], _ size: Int, _ k: Int)
{
self.display(arr, size);
print(" Rotated right by ", k ," element ");
var j: Int = size - k;
if (j < 0)
{
// When rotation more then size of array
j = -j;
}
var i: Int = 0;
while (i < size)
{
// display element
print(" ", arr[(j + i) % (size)], terminator: "");
i += 1;
}
}
}
func main()
{
let work: RightRotation = RightRotation();
// Define array of integer elements
let arr1: [Int] = [8, 3, 1, 6, 5, 4, 2, 7, 9];
let arr2: [Int] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// Get the size
var size: Int = arr1.count;
// Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2);
work.rightRoationByK(arr1, size, 3);
// Get the size
size = arr2.count;
// Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4);
work.rightRoationByK(arr2, size, 13);
}
main();
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
/*
Kotlin program
Print K th right rotation of array elements
*/
class RightRotation
{
// Display array elements
fun display(arr: Array<Int>, size: Int): Unit
{
print("\n Array Elements \n");
var i: Int = 0;
while (i<size)
{
print(" " + arr[i]);
i += 1;
}
print("\n");
}
// Prints the right k rotation of an array
fun rightRoationByK(arr: Array<Int>, size: Int, k: Int): Unit
{
this.display(arr, size);
print(" Rotated right by " + k + " element \n");
var j: Int = size - k;
if (j < 0)
{
// When rotation more then size of array
j = -j;
}
var i: Int = 0;
while (i < size)
{
// display element
print(" " + arr[(j + i) % (size)]);
i += 1;
}
}
}
fun main(args: Array<String>): Unit
{
var work: RightRotation = RightRotation();
// Define array of integer elements
var arr1: Array<Int> = arrayOf(8, 3, 1, 6, 5, 4, 2, 7, 9);
var arr2: Array<Int> = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Get the size
var size: Int = arr1.count();
// Test Case A (of arr1)
work.rightRoationByK(arr1, size, 2);
work.rightRoationByK(arr1, size, 3);
// Get the size
size = arr2.count();
// Test Case B (of arr2)
work.rightRoationByK(arr2, size, 4);
work.rightRoationByK(arr2, size, 13);
}
Output
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 2 element
7 9 8 3 1 6 5 4 2
Array Elements
8 3 1 6 5 4 2 7 9
Rotated right by 3 element
2 7 9 8 3 1 6 5 4
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 4 element
7 8 9 10 1 2 3 4 5 6
Array Elements
1 2 3 4 5 6 7 8 9 10
Rotated right by 13 element
4 5 6 7 8 9 10 1 2 3
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment