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.

Concetti fondamentali

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.
  • Stampa di 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; }

Indice pagine linguaggio C: