Witam.
Rozwiązuje właśnie różne zadania maturalne z poprzednich lat i natrafiłem na problem przy jednym z nich, a mianowicie przy tym: Trójki liczb
"W pliku trojki.txt w oddzielnych wierszach znajduje się 1000 trójek liczb naturalnych z przedziału od 1 do 550000000. W każdym wierszu są umieszczone trzy liczby rozdzielone pojedynczymi odstępami."
Zadanie ma 4 podpunkty, z czego 3 mam już zrobione. Problem mam tylko z jednym z nich, a mianowicie z tym:
"Wypisz z pliku trojki.txt wszystkie pary sąsiadujących ze sobą wierszy, takie że liczby w tych wierszach są długościami boków trójkątów prostokątnych."
Przykład: 3 4 5 3² + 4² = 5²
12 5 13 5² +12² =13²
To fragment kodu, który ma odpowiadać za to zadanie.
while(plik>>a>>b>>c)
{
if(czyTrojkat(a,b,c))
{
wyjscie<<a<<" "<<b<<" "<<c<<endl;
}
}
Co jest czym: "plik" to wczytanie danych z pliku, "a","b" i "c" są zmiennymi w których przechowuję te dane, "czyTrojkat(a,b,c)" to funkcja, która sprawdza czy warunek z polecenia dla 3 liczb z tego samego wiersza jest spełniony, a "wyjscie" oznacza wypisanie danych do pliku.
Mój problem polega na wypisaniu do pliku PAR sąsiadujących ze sobą wierszy, zamiast pojedynczego wiersza, który ten warunek spełnia.
Czy mógłby ktoś podpowiedzieć w jaki sposób mogę to zrobić najlepiej nie rezygnując przy tym wczytywania liczb pętlą while? Szukałem na różnych stronach rozwiązań, żeby jakoś się nakierować, ale nigdzie nie znalazłem nic co by mi pomogło, więc będę wdzięczny za wszelkie podpowiedzi.
Tak na koniec jeszcze proszę, aby w miarę możliwości podejść do tego w jakiś niezbyt skomplikowany sposób, ze względu na to, że wciąż się uczę i chciałbym rozumieć co robię. Z góry dziękuję.