C/C++

Помогите пожалуйста написать программу небольшую в C++. Одномерный массив

Программа, которая:
a. запрашивает необходимые данные в main,
b. передает входные данные в соответствующую функцию,
c. результат выводится из main.

Найти количество и сумму нечетных элементов
4M
46 Masterov.ru
170
#include <iostream>
using namespace std;
pair<size_t, int> fn(int* box, size_t n) {
pair<size_t, int> acc;
for (auto i = 0U; i < n; ++i) {
if (box[i] & 1) {
++acc.first;
acc.second += box[i];
}
}
return acc;
}
int main() {
system("chcp 1251 > nul");
const auto n = 8U;
int box[n];
cout << "Введите " << n << " целых чисел: ";
for (auto& x : box) cin >> x;
auto [count, sum] = fn(box, n);
cout
<< "Count: " << count << '\n'
<< "Sum: " << sum << '\n';
system("pause > nul");
}
Ruslan Ruslan
Ruslan Ruslan
91 960
Лучший ответ
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<wchar.h>
#include<locale.h>
//структура для возвращения
//значений из функции пользователя:
typedef struct SN
{
int count;
int sum;
}SN;

SN SumNechet(int *array, int size)
{//функция пользователя
SN sn;
sn.count=0;
sn.sum=0;
for(int i=0;i<size;i++)
{
if(*array%2!=0)
{sn.count++;sn.sum+=*array;};
array++;
}
array-=size;//в начало массива
return sn;
}//функция пользователя

int main()
{//main
int n=0, *pn, N=0;
//включаем русскую локаль:
setlocale(LC_ALL,"Russian");

wprintf(L"Введите размер целочисленного\nмассива, кол-во элементов n = ");
wscanf(L"%d",&n);
wprintf(L"\nВведите границу интервала\nзначений элементов (0...N), N = ");
wscanf(L"%d",&N);
//создаём динамический массив:
pn=(int*)malloc(n*sizeof(int));

//если массив создан в куче ОЗУ:
if(pn)
{
wprintf(L"\nСоздан массив значений: \n");
srand(time(NULL));
for(int i=0;i<n;i++)
{
*pn=rand()%(N+1);
wprintf(L"%d ",*pn);
pn++;
}
pn-=n;//в начало массива
SN sn=SumNechet(pn,n);
wprintf(L"\n\nНечётные элементы массива: \nКол-во = %d, Сумма = %d",sn.count,sn.sum);
free(pn);//освобождение кучи в ОЗУ
}
else//если массив не создан:
wprintf(L"\nОшибка. Массив не создан.");

fflush(stdout);//сброс буфера
sleep(10);//пауза
return 0;
}//main
EP
Evgeniy Poplevchenkov
37 945