Witam, mam problem przy zapisywaniu do pliku np listy. Powiedzmy, że mam funkcje która zwraca wartość elementów listy rekurencyjnie i chciałbym zapisać wszystkie dane do pliku, a nie tylko ostatnią(pierwszą) wartość, czy da się zrobić tak, że zapamiętam wszystkie liczby? Nie mogę używać tablic,wektorów i stringów.
0
0
void zapis_plik(wezel tablica[], std::string nazwa, int poczatek)
{
std::ofstream plik;
plik.open(nazwa, std::ios_base::app);
for (int i = 0; i < size; ++i)
{
if (adjlista[i]->glowa != nullptr && i != poczatek)
{
plik << kolejka(tablica, i, poczatek, nazwa)<<"->";
plik << tablica[i].koszt << std::endl;
}
}
}
Powiedzmy, że funkcja kolejka zwraca kolejno wartości, ale w ten sposób dodaje się tylko jedna wartość, a ja potrzebuje wszystkie.
Zrobiłem to potem troche inaczej i przy każdym wywołaniu funkcji otwieram plik, ale wydaje mi się, że jest to mało optymalne i da się to zrobić lepiej.
Ogólnie to mam zaimplementować graf i Algorytm Dijkstry, potrzebuje rekurencji, ponieważ iteracyjnie nie moge się dostawać do poprzednich węzłów i wpisać drogi do pliku w dobrej kolejności, rekurencja pasuje tutaj, tylko jest problem w zapisaniu do pliku.