Sa se afiseze primii n termeni ai sirului (n se introduce de la tastatura): 1, 2, 1,1,2, 3, 4, 3, 2, 1, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, .. 9
#include <iostream>
int main() {
int n;
std::cout << „Introduceti numarul n: „;
std::cin >> n;
int i = 1; // contor pentru termenii sirului
int seq_len = 1; // lungimea secventei curente
bool increasing = true; // daca secventa curenta este crescatoare sau descrescatoare
while (i <= n) {
// afisam termenul curent
std::cout << i << ” „;
i++;
// daca am ajuns la finalul secventei curente, o schimbam
if (i > seq_len) {
increasing = !increasing;
seq_len++;
}
// daca secventa este crescatoare, adaugam 1 la termenul curent
if (increasing) {
i += (seq_len – 1);
}
// daca secventa este descrescatoare, scazam termenul curent cu 1
else {
i -= (seq_len – 1);
}
}
return 0;
}
Acest program citește de la tastatură numărul n și apoi folosește un contor i, o variabilă seq_len pentru a ține evidența lungimii secvenței curente și o variabilă increasing pentru a ține evidența dacă secvența curentă este crescătoare sau descrescătoare. În bucla while, programul afișează termenul curent, apoi decide dacă trebuie să schimbe secvența curentă (daca a ajuns la finalul acesteia). Dacă secvența curentă este crescătoare, adaugă la termenul curent lungimea secvenței – 1, iar dacă este descrescătoare, scade termenul curent cu lungimea secvenței – 1.