ПБ
Павел Броник

Задачка по С++. Помогите плз

Напишите пожалуйста текст программы для следующего задания: найти сумму элементов между первым и последним нулевыми элементами одномерного массива. (Размер массива не более 20 символов) . Помогите плз.

Руслана Лебедева
Руслана Лебедева

#include
#include
#include
using namespace std;
typedef unsigned int index_t;
struct interval {
interval() : start(-1), stop(-1), exists(false) { }
size_t start;
size_t stop;
bool exists;
};
interval choice(interval, long *, const size_t, long = 0, long = 0);
long long sum(long *, interval);
int main() {
srand(unsigned(time(NULL)));
const size_t size = 20;
long a[size];
long * p = a;
do *p = rand() % 19 - 9; while (++p < a + size);
p = a;
do cout << setw(3) << *p; while (++p < a + size);
cout << endl;
interval i;
i = choice(i, a, size);
if (i.exists) cout << " Sum = " << sum(a, i) << endl;
else cout << " Does not exist!\n\a";
cin.get();
return 0;
}
long long sum(long * _a, interval _i) {
long long s = 0;
while (++_i.start < _i.stop) s += _a[_i.start];
return s;
}
interval choice(interval _i, long * _a, const size_t _s, long _l, long _r) {
long * p = _a;
for (index_t n = 0; n < _s; n++) if (_a[n] == _l) { _i.start = n; break; }
for (index_t n = _s - 1; n; n--) if (_a[n] == _r) { _i.stop = n; break; }
if (_i.stop - _i.start > 2) _i.exists = true;
return _i;
}

ВБ
Владимир Баландин

ты не туда вопрос задал

Вл
Владимир

могу написать, если чем-нибудь меня заинтересуешь )))

ММ
Мария Милакова

Фигня. Чем позориться, отрыл бы учебник и сам сделал:

Похожие вопросы
Помогите с задачкой по С++.
Помогите решить задачку плз очень надо)))
Помогите плз решить задачку!!
Помогите, плз, решить задачку по химии
Помогите плз решить задачку по химии!
помогите кто нибудь плз!
Задачка по Трудовому праву!!! помогите плз!!!
Помогите задачку решить плз
помогите плз с задачкой нахождения площади
Помогите плз