Create an array of user defined size. Fill this array with random numbers (Auto Generated). Create a menu from 1 to 6 to perform operation on array. As the option is selected, it calls a function with appropriate parameters and return type.
1. Average of all values.
2. Update an item(Ask the user for index and new value)
3. Print the array
4. Find minimum
5. Find maximum
6. Search a number(search a value entered by user and tell the index if found)
7. Print the array in reverse order
#include <iostream>
#include "vector"
#include "random"
using namespace std;
vector<int> fill(int n) {
vector<int> arr(n);
std::random_device rd;
std::mt19937 mersenne(rd()); // инициализируем Вихрь Мерсенна случайным стартовым числом
for (int i = 0; i < arr.size(); i++) {
arr[i] = rand();
}
return arr;
}
double func1(vector<int> *arr) {
double sum = 0;
for (auto i : *arr) {
sum += i;
}
return sum / arr->size();
}
void func2(vector<int> *arr) {
int index;
cout << "Enter the index to change:";
cin >> index;
int new_value;
cout << "\nEnter new value:";
cin >> new_value;
(*arr)[index] = new_value;
}
void func3(vector<int> *arr) {
for (auto i: *arr) {
cout << i << " ";;
}
cout << endl;
}
int func4(vector<int> *arr) {
int min = (*arr)[0];
for (auto i: *arr) {
if (i < min) {
min = i;
}
}
return min;
}
int func5(vector<int> *arr) {
int max = (*arr)[0];
for (auto i: *arr) {
if (i > max) {
max = i;
}
}
return max;
}
int func6(vector<int> *arr) {
int num;
cout << "Enter the numer to find:";
cin >> num;
for (int i = 0; i < arr->size(); i++) {
if ((*arr)[i] == num) {
return i;
}
}
cout << "No such number in the array";
exit(1);
}
void func7(vector<int> *arr) {
for (int i = arr->size() - 1 ; i >= 0; i--) {
cout << (*arr)[i] << " ";
}
}
int main() {
int n;
std::cout << "Enter the desired array size:";
std::cin >> n;
vector<int> arr = fill(n);
cout << "\nThe resulting array is:\n";
func3(&arr);
int option;
cout << "1. Average of all values.\n"
"2. Update an item(Ask the user for index and new value)\n"
"3. Print the array\n"
"4. Find minimum\n"
"5. Find maximum\n"
"6. Search a number(search a value entered by user and tell the index if found)\n"
"7. Print the array in reverse order\n";
std::cout << "\nEnter your desired action:";
std::cin >> option;
switch (option) {
case 1: {
double avg = func1(&arr);
cout << "\nAverage value is " << avg;
break;
}
case 2:
func2(&arr);
break;
case 3:
func3(&arr);
break;
case 4:
func4(&arr);
break;
case 5:
func5(&arr);
break;
case 6: {
int index = func6(&arr);
cout << "Number has the index " << index;
break;
}
case 7:
func7(&arr);
break;
}
return 0;
}
Comments
Leave a comment