Cześć. Miałem za zadanie napisać program, o poniższej treści:
Napisałem taki kod i przetestowałem. Według mnie działa z wszelkimi danymi:
#include <iostream>
#include <vector>
using namespace std;
std::vector<int>::iterator partial_sum(std::vector<int>::const_iterator b, std::vector<int>::const_iterator e,std::vector<int>::iterator f){
vector<int> vector = {};
int sum = 0;
while(f<e){
sum = sum + *f;
*f = sum;
f++;
}
return f;
}
int main() {
std::vector<int> vector {3, 2, -1, 3, 4};
auto result = partial_sum(vector.cbegin(), vector.cend(), vector.begin());
for (auto iterator = vector.cbegin(); iterator < result;) {
std::cout << *iterator++ << " ";
}
std::cout << std::endl;
}
Niestety dostałem od wykładowcy, a raczej sprawdzarki błąd o poniższej treści:
Following code was run:
const std::vector<int> input {5, -5, 1, -1, 3, -3};
std::vector<int> output(input.size());
auto result = partial_sum(input.cbegin(), input.cend(), output.begin());
Invalid result or output
EXECUTION ERROR
Czy ktoś może dostrzega błąd? Będę bardzo wdzięczny za wskazówki, bo sam już nie mam pojęcia.
Z góry serdecznie dziękuję