Problema: Quadrati concentrici

di il
7 risposte

Problema: Quadrati concentrici

Salve a tutti, sono uno studente di terza superiore. La nostra prof nell'ultima lezione ci ha assegnato il seguente esercizio:
Scrivi un programma che disegna sullo schermo 3 cornici quadrate concentriche costituite dal carattere “*” rispettivamente di lato 12, 8 e 4.
Non voglio ovviamente che me lo risolviate, ma che mi aiutaste indirizzandomi a risolverlo.
Grazie in anticipo a tutti.

7 Risposte

  • Re: Problema: Quadrati concentrici

    Ok comincia a scrivere il codice che disegni una cornice e poi si vede su cosa modificare...
  • Re: Problema: Quadrati concentrici

    Disegnali su un foglio di carta quadrettato e poi replica ogni riga con una printf() di spazi e asterischi.

    dopodiché, se hai già fatto il for, prova a risolvere lo stesso esercizio stampando un carattere per volta con due cicli for annidati, con gli indici dei cicli che indicano la posizione corrente (riga, colonna)
  • Re: Problema: Quadrati concentrici

    #include <stdio.h>
    
    int main () {
        int riga, colonna;
    
        for (riga = 1; riga <= 12; riga++) {
            if (riga == 1 || riga == 12) {
                for (int i = 1; i <= 12; i++) {
                    printf("* ");
                }
                printf("\n");
            } else {
                printf("*                     *\n");
            }
        }
    }
    questo è il codice che sono riuscito a fare, il primo quadrato viene, ma non saprei come fare i restanti.
    Mi potete aiutare a capire come fare i restanti 2 interni, grazie.
  • Re: Problema: Quadrati concentrici

    Beh se ragione i con quelle if riga...
  • Re: Problema: Quadrati concentrici

    oregon ha scritto:


    Beh se ragione i con quelle if riga...
    #include <stdio.h>
    
    int main () {
        int riga;
    
        for (riga = 1; riga <= 12; riga++) {
            if (riga == 1 || riga == 12) {
                for (int i = 1; i <= 12; i++) {
                    printf("* ");
                }
                printf("\n");
            } else {
                printf("*                     *\n");
            }
            if (riga == 3 || riga == 10) {
                for (int i = 1; i <= 8; i++) {
                    printf("* ");
                }
                printf("\n");
            } else {
                printf("*             *\n");
            }
                
        }
    }
    scusa... ma non viene... non capisco come farli interni... mi vengono sulla stessa riga..
  • Re: Problema: Quadrati concentrici

    Qualcuno può aiutarmi a finirlo... dovrei consegnarlo entro mezzanotte e vorrei capire.. grazie..
  • Re: Problema: Quadrati concentrici

    Se vai di fretta, disegna letteralmente i quadrati con 12 printf()
    La prima riga è printf("************\n"); le altre di conseguenza.

    Se vuoi ragionare il consiglio ti è stato dato: due for annidati per scorrere righe e colonne, una sola stampa di "*" o di " " a seconda di dove ti trovi, una stampa di "\n" alla fine di ogni riga
Devi accedere o registrarti per scrivere nel forum
7 risposte