заполните массив случайными числами в интервале (0,20), введите число X и найдите все значения, равных X
Ответы
Відповідь:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void randarr(int *arr,int size){
for(int i = 0; i < size; i++){
arr[i] = rand() % 20 + 0;
}
}
void printarr(int *arr,int size){
for(int i = 0; i < size; i++){
cout << arr[i] << " ";
}
}
bool check(int x){
if(x < 0 && x > 20){
return false;
}
return true;
}
void counterx(int *arr,int size,int x){
int counter = 0;
for(int i = 0; i < size; i++){
if(arr[i] == x){
counter++;
cout << "\nЭлемент под индексом " << i << " равен x";
}
}
cout << "\nВсего елементов равных x: " << counter << endl;
}
int main(){
srand(time(NULL));
setlocale(LC_ALL, "Rus");
int size,x;
cout << "Введите размер массива: ";
cin >> size;
cout << "Введите x(0 - 20): ";
cin >> x;
if(check(x) == false){
cout << "X должен входить в диапазон от 0 до 20..." << endl;
return 1;
}
int *arr = new int[size];
randarr(arr,size);
cout << "Массив: ";
printarr(arr,size);
counterx(arr,size,x);
delete[] arr;
return 0;
}