Как используя всего одну функцию решить задачу
- Функцию generateMasдля генерации одномерного массива из заданного количества элементов
- Функцию printMasдля выводана экран монитора через два пробела значений одномерного массива из заданного количества элементов
- Функцию по условию задачи. Название функции должно отражать её назначение.
Используя одну функцию вычислить сумму и количество положительных элементов массива Х[20] и сумму и количество отрицательных элементов массива К[15]
Я могу найти отрицательные и положительные элементы каждого массива по отдельности,а мне как то надо это все запихнуть в одну функцию и я не понимаю как.
#include<iostream>
#include<stdlib.h>
#include<ctime>
#include<iomanip>
using namespace std;
main()
{
setlocale (LC_ALL,"Rus");
srand(time(0));
int X[20],K[15],i,j,SumPositive=0,SumNegative=0;
cout<<"Массив X"<<endl;
for(i=0;i<20;i++)
{
X[i]=rand ()%50;
cout<<X[i]<<" ";
if (X[i]>0) SumPositive=X[i];
}
cout<<endl;
cout<<"Массив K"<<endl;
for( i=0;i<15;i++)
{
K[i]=rand ()%50;
cout<<K[i]<<" ";
if (K[i]<0) SumNegative=K[i];
}
cout<<endl<<"Колличество положительных элементов массива X= "<<SumPositive;
cout<<endl<<"Колличество отрицательных элементов массива X= "<<SumNegative;
}
Ответы (1 шт):
Автор решения: Vasian
→ Ссылка
Если проблема с выводом данных из этих функций, то можно так:
void sums(int* X, int* K) {
cout << sumPositive(X) << endl; // где sumPositive - функция нахождения суммы положительных элементов
cout << sumNegative(K) << endl; // где sumNegative - функция нахождения суммы отрицательных элементов
}
или так:
void sums(int* X, int* K, int& sP, int& sN) {
sP = sumPositive(X);
sN = sumNegative(K);
}
int main() {
//...
int sP = 0, sN = 0;
sums(X,K,sP,Sn);
cout << sP << endl;
cout << sN << endl;
}
В этом случае параметры sP и sN передаются по ссылке, что позволяет модифицировать не копию, а значение переменной, которую вы завели в main.