How to pick random index from an array and move the element to end of array with C++

1 Answer

0 votes
#include <iostream>
 
void ShiftArrayToLeft(int arr[], int size, int start) {
    for (int i = start; i < size - 1; i++) {
        arr[i] = arr[i + 1];
    }
}
 
int RandomBetweenRange(int first, int last) {
    int number =  rand() % ((last + 1) - first) + first;
       
    return number;
}
 
void PrintArray(int arr[], int size) {
    for (int i = 0; i < size; i++)
        std::cout << arr[i] << " ";
}
   
int main() {
    int arr[] = { 4, 9, 12, 90, 13, 0, 3, 97 };
 
    int size = sizeof(arr) / sizeof(arr[0]);
     
    PrintArray(arr, size);
 
    srand(time(NULL));
     
    int index = RandomBetweenRange(0, size - 1);
    int randomnumber = arr[index];
     
    std::cout << "\n" << randomnumber << "\n";
      
    ShiftArrayToLeft(arr, size, index);
     
    arr[size - 1] = randomnumber;
     
    PrintArray(arr, size);
}
 
 
 
 
/*
run:
 
4 9 12 90 13 0 3 97 
12
4 9 90 13 0 3 97 12 
 
*/

 



answered Nov 22, 2022 by avibootz
edited Nov 23, 2022 by avibootz

Related questions

1 answer 138 views
2 answers 186 views
1 answer 146 views
146 views asked Nov 22, 2022 by avibootz
2 answers 148 views
1 answer 146 views
1 answer 103 views
103 views asked Nov 22, 2022 by avibootz
...