Другие языки программирования и технологии

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

Напишите пожалуйста текст программы для следующего задания: найти сумму элементов между первым и последним нулевыми элементами одномерного массива. (Размер массива не более 20 символов) . Помогите плз.
Т*
Тимур ***
1 630
#include <iostream>
#include <iomanip>
#include <ctime>
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;
}
Guinness Pub
Guinness Pub
53 451
Лучший ответ
Фигня. Чем позориться, отрыл бы учебник и сам сделал:
Эдуард Ахимов
Эдуард Ахимов
35 996
могу написать, если чем-нибудь меня заинтересуешь )))
ты не туда вопрос задал
Влад Орлов
Влад Орлов
180
Тимур *** программирование же