Informatică, întrebare adresată de mariamagdalena2269, 8 ani în urmă


Se dă un numar N. Så se afiseze următorul triunghi de numere:
N N-1 1-2 ... 21 (1)
N-1 -2 ... 21 (2)
2 1 (N-1)
1 (N)
Mai exact, pe prima linie se vor afişa toate numerele de la N la 1 urmate de indicele liniei pe care se află ca in exemplul de mai sus,
pe cea de-a doua linie toate numerele de la N-1 la 1 etc.Numerele de pe fiecare linie vor fi despartite prin spații.
Date de intrare
Se citeşte la tastatura numărul N.
Date de ieşire
Programul va afişa pe ecran triunghiul cerut mai sus.


mariamagdalena2269: Am rezolvat problema doar ca nu reușesc sa afișez in paranteza numărul liniei. Merci !

Răspunsuri la întrebare

Răspuns de lucaciucandrei
5

coroana te rog

#include<iostream>

using namespace std;

int main(){

   int n,i,cn;

   cin>>n;

   cn=n;

   while(n!=0){

       for(i=n;i>=1;i--)

           cout<<i<<' ';

       cout<<'('<<cn-n+1<<')'<<endl;

       n--;

   }

   return 0;

}


mariamagdalena2269: Ar fi o posibilitate doar cu while/if? Nu as vrea sa folosesc structura for. Merci!
andrei750238: Structurile repetitive sunt echivalente intre ele si pot fi transformate usor dintr-o forma in alta.

for(i=n;i>=1;i--){instructiune}

se transforma in

i=n;
while(i>=1){instructiune, i--}
andrei750238: Mai exact, tot programul devine :

#include
using namespace std;

int main(){
int n,i,cn;
cin >> n;
cn=n;
while(n!=0){
i=n;
while(i>=1){
cout< i--;
}
cout<<'('<< cn-n+1 <<')'< n--;
}
}
andrei750238: Nu se afiseaza corect raspunsul in comentarii pe site. Ai programul transformat aici : https://pastebin.com/fsUF7NJG
mariamagdalena2269: Mulțumesc frumos!
Alte întrebări interesante