pomocy czemu to nie działa

pomocy czemu to nie działa
Wiktor Ustaszewski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

#include <iostream>

int main() {
int t, prev, sum = 0;
bool first = true; // Flaga do sprawdzania pierwszej liczby

while (true) {
    std::cout << "Podaj liczbe: ";
    std::cin >> t;

    if (first) {  // Jeśli to pierwsza liczba, zapisujemy ją jako poprzednią
        prev = t;
        first = false;
        sum += t;  // Dodajemy pierwszą liczbę do sumy
        continue;
    }

    if (t > prev) {  // Jeśli liczba jest większa niż poprzednia, to ciąg rośnie
        sum += prev;  // Dodajemy poprzednią liczbę do sumy
        prev = t;  // Ustawiamy nową liczbę jako poprzednią
    } else {  // Jeśli liczba nie spełnia warunku rosnącego ciągu
        break;  // Zatrzymujemy wczytywanie
    }
}

std::cout << "Suma liczb w ciagu rosnacym (bez ostatniej): " << sum << std::endl;

return 0;

}

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5025
1

Co znaczy nie działa i co ten kod ma robić?

Wiktor Ustaszewski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

program ma wczytywać liczby całkowite tak długo, dopóki tworzą one ciąg rosnący. Następnie program wyświetla sumę wszystkich liczb tworzących ten ciąg (czyli bez ostatniej wartości). Wklepałem to do czatu ale program źle liczy i tak.

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5025
1

Spróbuj w drugim "ifie" sumować t: sum += t;

Wiktor Ustaszewski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Wielkie dzięki Polacy mądrzejsi od gpt!
Pozdrawiam

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.