Informatică, întrebare adresată de alexutaq, 9 ani în urmă

Se citeste un numar natural n<10.Se cere sa se afiseze un triunghi dupa regulile pe care le deduceti din exemplele urmatoare:

n=10
1
2 3
4 5 6
7 8 9 10

10 8 9 7
6 5 4
3 2
1
Vaa rog muuult!!!

Răspunsuri la întrebare

Răspuns de artur99
6
#include <iostream>
using namespace std;

int main(){
    
    int n, i = 1, lin = 1, k;
    cin>>n;
    
    while(i <= n){
        k = 1;
        while(k <= lin && i <= n){
            cout<<i<<' ';
            i++;
            k++;
        }
        cout<<endl;
        lin++;
    }
    lin--;
    cout<<endl;
    
    i = n;
    while(i >= 1){
        k = 1;
        while(k <= lin && i >= 0){
            cout<<i<<' ';
            i--;
            k++;
        }
        cout<<endl;
        lin--;
    }
}

Utilizator anonim: Nu stiu daca ai inteles ce-am vrut sa zic :(
alexutaq: Sunt la un nivel mediu,deci presupun ca esentialul il prind,in mare parte am inteles ce ai facut,dar ca sa fiu sigura ti am cerut ajutorul :)))
artur99: Practic, i-ul este variabila care crește de la 1 la n, și în acel while se verifică, dacă cumva am depășit, să ieșim din repetiție. Fiecare repetiție din while scrie câte o linie. În variabila lin se ține minte câte numere vin afișate pe linia la care suntem. Începe cu 1, apoi, după fiecare while repetat, crește cu câte 1.
alexutaq: mersii mult,inseamna ca intelesesem ok de prima data,am zis sa fiu sigura,mersii din nou pentru ajutor!!
artur99: Apoi, while-ul din while, cel mai dinăuntru, scrie toate numerele dintr-o linie. Are k = 1 la început, și atâta timp cât k e mai mic decât numărul de elemente care trebuie afișate pe linia curentă, se tot repetă, iar k crește. Adică, k este 1, 2, ..., lin, adică cu el se numără câte elemente se afișează pe linia curentă.
artur99: La prima iterație, lin va fi 1, și k va crește doar la 1, și se va afișa primul număr, adică i=1. La a doua iterație, lin va fi 2, și k va fi pe rând 1, 2. Adică se vor afișa 2 elemente pe această linie: i=2 și i=3. (i-ul, din nou, crește la fiecare repetiție, dar el nu este resetat)
artur99: aaaa
artur99: ok
artur99: Scuze, nu văzusem comentariul
artur99: Npc
Alte întrebări interesante