From c2ffdf1120755c3d66b640cf9db55c9be5e45a2f Mon Sep 17 00:00:00 2001 From: Monalika Date: Wed, 26 May 2021 03:15:16 +0530 Subject: [PATCH 1/2] Create Array Rotation.cpp --- Array Rotation.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Array Rotation.cpp diff --git a/Array Rotation.cpp b/Array Rotation.cpp new file mode 100644 index 0000000..9cddb59 --- /dev/null +++ b/Array Rotation.cpp @@ -0,0 +1,42 @@ +// C++ program to rotate an array by +// d elements +#include +using namespace std; + +/*Function to left Rotate arr[] of + size n by 1*/ +void leftRotatebyOne(int arr[], int n) +{ + int temp = arr[0], i; + for (i = 0; i < n - 1; i++) + arr[i] = arr[i + 1]; + + arr[n-1] = temp; +} + +/*Function to left rotate arr[] of size n by d*/ +void leftRotate(int arr[], int d, int n) +{ + for (int i = 0; i < d; i++) + leftRotatebyOne(arr, n); +} + +/* utility function to print an array */ +void printArray(int arr[], int n) +{ + for (int i = 0; i < n; i++) + cout << arr[i] << " "; +} + +/* Driver program to test above functions */ +int main() +{ + int arr[] = { 1, 2, 3, 4, 5, 6, 7 }; + int n = sizeof(arr) / sizeof(arr[0]); + + // Function calling + leftRotate(arr, 2, n); + printArray(arr, n); + + return 0; +} From 3a573c20544936f29b93032c02250bf10d63ec8e Mon Sep 17 00:00:00 2001 From: Monalika Date: Wed, 26 May 2021 03:20:32 +0530 Subject: [PATCH 2/2] Create Find the smallest and second smallest elements in an array.cpp --- ...d second smallest elements in an array.cpp | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Find the smallest and second smallest elements in an array.cpp diff --git a/Find the smallest and second smallest elements in an array.cpp b/Find the smallest and second smallest elements in an array.cpp new file mode 100644 index 0000000..99ac386 --- /dev/null +++ b/Find the smallest and second smallest elements in an array.cpp @@ -0,0 +1,47 @@ +// C++ program to find smallest and +// second smallest elements +#include +using namespace std; /* For INT_MAX */ + +void print2Smallest(int arr[], int arr_size) +{ + int i, first, second; + + /* There should be atleast two elements */ + if (arr_size < 2) + { + cout<<" Invalid Input "; + return; + } + + first = second = INT_MAX; + for (i = 0; i < arr_size ; i ++) + { + /* If current element is smaller than first + then update both first and second */ + if (arr[i] < first) + { + second = first; + first = arr[i]; + } + + /* If arr[i] is in between first and second + then update second */ + else if (arr[i] < second && arr[i] != first) + second = arr[i]; + } + if (second == INT_MAX) + cout << "There is no second smallest element\n"; + else + cout << "The smallest element is " << first << " and second " + "Smallest element is " << second << endl; +} + +/* Driver code */ +int main() +{ + int arr[] = {12, 13, 1, 10, 34, 1}; + int n = sizeof(arr)/sizeof(arr[0]); + print2Smallest(arr, n); + return 0; +}