AdventOfCode Day1/Part 2 – znajdowanie powtarzajacych sie dwukrotnie sumy elementow

0

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)
0

W tym zadaniu może zajść konieczność wielokrotnego przejścia przez dane wejściowe żeby znaleźć powtarzającą się sumę. Dodatkowo zapoznaj się z kontenerami std::set i std::hash_set

0

link do wyzwania jesli ktos chce spr swoich sil
https://adventofcode.com/2018/day/1

1 użytkowników online, w tym zalogowanych: 0, gości: 1