Stampare un rettangolo di asterischi in C

La programmazione in C offre un vasto insieme di strumenti per risolvere problemi e creare programmi funzionali. Una delle sfide fondamentali per chi si avvicina a questo linguaggio di programmazione è comprendere come utilizzare le strutture di controllo, come i cicli, per manipolare e visualizzare i dati in modi diversi.

In questa guida, esploreremo come utilizzare il linguaggio C per stampare un rettangolo composto da asterischi, un esercizio che non solo rafforza la comprensione dei cicli, ma anche come utilizzare insieme più strutture di controllo.

Prima di tuffarci nel codice, è importante comprendere alcuni concetti chiave:

  • Ciclo for: In C, il ciclo for è spesso usato per ripetere un blocco di codice un certo numero di volte. È particolarmente utile quando sappiamo in anticipo quante volte vogliamo che il ciclo venga eseguito.

  • Stampare caratteri: La funzione printf è comunemente usata in C per stampare testo e variabili sullo schermo. Per stampare un asterisco, useremo printf("*");.

  • Controllo di flusso: Per creare forme come i rettangoli, dobbiamo capire come controllare il flusso del nostro programma in modo che possiamo decidere quando stampare un asterisco o andare a capo (iniziare una nuova riga).

Algoritmo per stampare il rettangolo di asterischi

Per stampare un rettangolo di asterischi, dobbiamo pensare al rettangolo come a una serie di righe e colonne e usare due cicli: uno per le righe e uno per le colonne. Ecco i passaggi generali:

  1. Chiedi all'utente le dimensioni del rettangolo (larghezza e altezza).

  2. Usa un ciclo for per iterare attraverso le righe.

  3. All'interno di ogni iterazione della riga, usa un altro ciclo for per iterare attraverso le colonne.

  4. Stampa un asterisco senza andare a capo (printf("*");).

  5. Dopo aver stampato tutti gli asterischi di una riga, stampa un carattere di nuova riga (printf("\n");) per iniziare una nuova riga.

  6. Ripeti il processo fino a quando non sono state stampate tutte le righe.

Ecco un esempio di implementazione dell’algoritmo:

#include <stdio.h> int main() {     int larghezza, altezza;     // Chiedi all'utente le dimensioni del rettangolo     printf("Inserisci la larghezza del rettangolo: ");     scanf("%d", &larghezza);     printf("Inserisci l'altezza del rettangolo: ");     scanf("%d", &altezza);     // Ciclo esterno per le righe     for(int i = 0; i < altezza; i++) {         // Ciclo interno per le colonne         for(int j = 0; j < larghezza; j++) {             // Stampa un asterisco senza andare a capo             printf("*");         }         // Vai a capo dopo ogni riga         printf("\n");     }     return 0; }