Edizione didattica italiana
Disegnare pattern con cicli C
Calcola spazi e simboli per ogni riga usando cicli annidati.

Il ciclo esterno controlla in genere la riga, quello interno i caratteri. Prima del codice esprimi il numero di spazi e simboli in funzione dell’indice di riga.
Stampa il cambio riga dopo l’intera riga, non dopo ogni simbolo. Distingui spazi iniziali, separatori e spazi finali, soprattutto se l’output è confrontato automaticamente.
Prova dimensioni 1, 2 e maggiori. N righe con fino a N simboli richiedono O(N²) operazioni di output; non è necessario memorizzare tutto il disegno.
Codice sorgente
#include <stdio.h>
void print_right_pyramid(int rows) {
printf("1. Right-Half Star Pyramid (Rows = %d):\n", rows);
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
printf("* ");
}
printf("\n");
}
}
void print_full_pyramid(int rows) {
printf("\n2. Full Centered Star Pyramid (Rows = %d):\n", rows);
for (int i = 1; i <= rows; i++) {
for (int space = 1; space <= rows - i; space++) {
printf(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
printf("* ");
}
printf("\n");
}
}
void print_floyd_triangle(int rows) {
printf("\n3. Floyd's Number Triangle (Rows = %d):\n", rows);
int num = 1;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
printf("%-3d", num++);
}
printf("\n");
}
}
int main(void) {
int rows = 5;
print_right_pyramid(rows);
print_full_pyramid(rows);
print_floyd_triangle(rows);
return 0;
}Apri nel compilatoreRisultato atteso
1. Right-Half Star Pyramid (Rows = 5):
*
* *
* * *
* * * *
* * * * *
2. Full Centered Star Pyramid (Rows = 5):
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
3. Floyd's Number Triangle (Rows = 5):
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15 Domande frequenti
Perché il codice e alcuni risultati restano in inglese?
Parole chiave C, identificatori, commenti del programma e output attesi restano quelli originali per preservare codice eseguibile e test coerenti. Spiegazioni e istruzioni sono tradotte.