#include iostream>
using namespace std;
void piramide(int b,int h){
int spazio=1,ast=1;
if (b!=1)
spazio= b/2;
for (int i=0; i
for (int o=0; o
cout
}
for (int p=0; p
cout
}
ast= ast+2;
spazio= spazio-1;
cout
}
}
int main()
{
int b,h;
do{
coutbase (deve essere dispari)"
cin>> b;
}while (b%2==0);
if (b==1)
h= 1;
else
h= b/2+1;
piramide(b,h);
return 0;
}
Il codice è scritto in linguaggio C++ e genera una piramide di asterischi sulla console. Spiegherò il codice passo dopo passo.
#include
using namespace std;
Queste righe di codice includono la libreria iostream, che fornisce le funzioni per l'input/output sulla console. L'istruzione using namespace std viene utilizzata per utilizzare direttamente i simboli della libreria standard senza dover specificare il prefisso std::.
void piramide(int b, int h){
int spazio = 1, ast = 1;
if (b != 1)
spazio = b / 2;
for (int i = 0; i
for (int o = 0; o
cout
}
for (int p = 0; p
cout
}
ast = ast + 2;
spazio = spazio - 1;
cout
}
}
Pyramid Function
La funzione piramide prende due parametri: b rappresenta la base della piramide e h rappresenta l'altezza della piramide. La variabile spazio tiene traccia del numero di spazi da stampare all'inizio di ogni riga, mentre ast tiene traccia del numero di asterischi da stampare.
Se la base b non è uguale a 1, il numero di spazi viene calcolato come b/2, altrimenti viene lasciato uguale a 1. Questa condizione è necessaria perché la base deve essere dispari per creare una piramide corretta.
Successivamente, viene eseguito un ciclo for che itera per h volte, rappresentando le righe della piramide. All'inizio di ogni riga, viene eseguito un altro ciclo for per stampare il numero corretto di spazi, utilizzando il carattere di tabulazione \t. Quindi, viene eseguito un terzo ciclo for per stampare il numero corretto di asterischi, seguiti da un carattere di tabulazione.
Dopo la stampa di una riga, il numero di asterischi viene incrementato di 2 (ast = ast + 2) e il numero di spazi viene decrementato di 1 (spazio = spazio - 1).
Infine, viene stampato un doppio carattere di nuova linea (endl) per separare le righe della piramide.
int main(){
int b, h;
do{
cout
cin >> b;
} while (b % 2 == 0);
if (b == 1)
h = 1;
else
h = b / 2 + 1;
piramide(b, h);
return 0;
}
La funzione main è il punto di ingresso del programma. All'interno della funzione, viene richiesto all'utente di inserire un numero dispari per la base della piramide. Il ciclo do-while viene utilizzato per assicurarsi che l'utente inserisca un numero dispari. Il controllo viene effettuato tramite l'espressione b % 2 == 0, che restituisce true se b è pari.
Se l'utente inserisce un numero dispari, viene calcolata l'altezza della piramide come b/2 + 1. Se la base è uguale a 1, l'altezza viene impostata a 1.
Infine, la funzione piramide viene chiamata con i valori della base e dell'altezza calcolati. Alla fine, il programma restituisce 0 per indicare che è stato eseguito correttamente.