Суть задания: вывести количество и сумму элементов, которые по модулю меньше 0.1. Элементами массива считать a[i] = sin(i + 2) * cos(i). Я догадываюсь, что ошибка находится здесь
void input(int *a, const int n)
, но что именно не так — не пойму.
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
void input(int *a, const int n);
void output(int *a, const int n);
void res(int *a, const int n);
int main() {
int n;
cout<<"Enter a nubmer of elements: ";
cin>>n;
int a[n];
input(a, n);
cout<<"Array A:"<<endl;
output(a, n);
res(a, n);
}
void res(int *a, const int n){
int S = 0; // sum of elements
int N = 0; // number of elements
for (int i = 0; i < n; i++){
if (fabs(a[i]) < 0.1){
N++;
S += a[i];
}
}
cout<<"Number of elements: "<<N<<endl;
cout<<"Sum of elements: "<<S<<endl;
}
void input(int *a, const int n){
for (int i = 0; i < n; i++){
a[i] = sin(i + 2) * cos(i);
}
}
void output(int *a, const int n){
int i;
for (i = 0; i < n; i++){
cout<<a[i]<<" ";
}
cout<<endl;
}