Hej, czy widzicie jakis blad w tym kodzie? Moim zadaniem jest wczytanie ponad 900 elementow z pliku tekstowego, po czym sumuje je po kolei, musze znalezc sume ktora powtarza sie dwukrotnie. Robie wiec freq=0 i dodaje do tej zmiennej kolejne wartosci wektora, przy czym sprawdzam czy taki element juz sie pojawil w wektorze sum. Jesli tak: zwracam szukaną wartość jesli nie dodaje do wektora sum. Kondycje znalazłam na stacku, okazuje sie że set albo wektor nie mają wbudowanej funkcji is_found. Bardzo prosze o jakas wskazowke:
#include <iostream>
#include <fstream>
#include <vector>
#include <sstream>
#include <set>
#include <algorithm>
using namespace std;
#define MAX(p, s) ((p > s) ? p : s)
int twiceSum(const vector<int>& x)
{
int freq = 0;
vector<int> v;
v.push_back(freq);
for (int i = 0; i < x.size(); i++) {
freq += x[i];
bool found = std::find(v.begin(), v.end(), freq) != v.end();
if (found) {
/* v contains x */
return freq;
}
else {
/* v does not contain x */
v.push_back(freq);
cout << found << endl;
//cout << freq << endl;
}
}
return 1;
}
int main()
{
std::ifstream infile("mtcars.txt");
std::string line;
std::vector<int> v;
while (std::getline(infile, line)) {
std::istringstream iss(line);
int n;
while (iss >> n) {
v.push_back(n);
}
}
for (int j = 0; j < v.size(); j++) {
cout << v[j] << endl;
}
cout << "ODPOWIEDZ: " << twiceSum(v) << endl;
return 0;
}
```
Ponadto dodaje plik tekstowy z jakiego korzystam (kazda liczba jest w linii)