Відповідь:
#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;
}
a,s,k:integer;
p : longint;
begin
k := 0;
s := 0;
p := 1;
repeat
write('введите число: ');
readln(a);
if a < 0 then
begin
inc(k);
p := p * a
end;
if a > 0 then s := s + a
until a = 0;
writeln('сумма положительных: ', s);
if k = 0 then writeln('отрицательных чисел нет')
else writeln('произведение отрицательных: ', p);
readln
end.