RISOLTO Triangolo di floyd c++

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Innominato00

Nuovo Utente
Messaggi
12
Reazioni
5
Punteggio
23
Scrivere un algoritmo che stampi le prime N righe del triangolo di Floyd.

Ciao, devo fare questo esercizio, ma sto avendo dei problemi.
Finchè N è <= 4 il triangolo viene, oltre al 4 non è più un triangolo, attendo risposte.

Codice:
#include <iostream>

using namespace std;

int main()
{
   int N;

   cout << " Iserire un numero: ";
   cin >> N;

   int riga = 1;
   int numero = 1;
   int empty_space = 1;    //Spazi vuoti
   int counter = 1;
   int qnt = 1;            // Quantità di numeri da inserire per riga
   int i = 1;             

   cout << endl << endl;

   while(riga <= N)
   {
      empty_space = 1;
      counter = 1;

      while(empty_space <= N - i)
      {
         cout << " ";
         empty_space++;
      }

      i++;

      while(counter <= qnt)
      {
         cout << numero << " ";

         numero++;
         counter++;
      }

      qnt++;

      cout << endl;

      riga++;
   }
}
 
che cos'è il triangolo di Floyd? [EDIT]penso di aver capito
1
2 3
4 5 6
7 8 9 10 <-- n=4
11 12 13 14 15 <-- per n=5 non viene un triangolo

Se la mia interpretazione del tuo esercizio è giusta, ti basta stampare gli interi delle varie righe in un numero prefissato di caratteri, per esempio 4; in tal caso devi innanzitutto aggiungere la direttiva per la manipolazione dell'output
#include <iomanip> // per la funzione setw
e prima di stampare un numero stabilisci il numero di caratteri (così ti risparmi la fatica di calcolare e stampare gli spazi bianchi per tenere allineata la stampa)
for(int j=1; j<=i; j++) cout << setw(4) << conta++ << " ";
l'intero conta verrà stampato con larghezza 4 caratteri (allineato a destra) e la stampa sarà del tipo
<3-spazi>1
<3-spazi>2 <3-spazi>3
<3-spazi>4 <3-spazi>5 <3-spazi>6
<3-spazi>7 <3-spazi>8 <3-spazi>9 <2-spzi>10
<2-spzi>11 <2-spzi>12 <2-spzi>13 <2-spzi>14 <2-spzi>15
(vedi immagine qui sotto)
triangolo-floyd.exe.png
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top