Strano output dal quale non ne vengo fuori...

di il
6 risposte

Strano output dal quale non ne vengo fuori...

Non riesco a capire come mai ottengo questo output...
https://prnt.sc/htwkm
Secondo voi?

// ESERCIZIO 5.20: Stampare un quadrato di un qualunque carattere.
// Modificate la funzione realizzata nell'esercizio 5.19 per formare il quadrato con qualsiasi carattere contenuto nel parametro di tipo carettere fillCharacter. Così, se side è 5 e fillCharacter è "#", questa funzione deve stampare:

//     # # # # #
//     # # # # #
//     # # # # #
//     # # # # #
//     # # # # #

// Codice sorgente:
#include <stdio.h>
void quadrAsterCaratterePieno( int sideVertic, char fillCharacter );
int main( void ) {
    puts( "Questo è un programma che stampa un quadrato pieno di lato a scelta dell'utente formato dal carattere scelto dall'utente.\n" );
    printf( "%s", "Si prega di inserire il carattere dal quale sarà formato il quadrato e la lunghezza del lato del quadrato pieno:   " );
    int latoUtente;        
    char carattere;
    scanf( "%c%d", &carattere, &latoUtente );
    puts( "" );
    quadrAsterCaratterePieno( latoUtente, carattere ); 
    int continuer = 1;
    printf( "%s", "\nSi vuole continuare (0 per terminare ed 1 per continuare)?:  " );
    scanf( "%d", &continuer );
    while( continuer != 0 ) {
        printf( "%s", "\nSi prega di inserire il carattere dal quale sarà formato il quadrato e la lunghezza del lato del quadrato pieno:   " );
        scanf( "%c%d", &carattere, &latoUtente ); 
        puts( "" );
        quadrAsterCaratterePieno( latoUtente, carattere ); 
        printf( "%s", "\nSi vuole continuare (0 per terminare ed 1 per continuare)?:  " );
        scanf( "%d", &continuer );        
    }
  
         

}

void quadrAsterCaratterePieno( int sideVertic, char fillCharacter ) {
    int rigaCounter = 1;
    for( int counterVertic = 1; counterVertic <= sideVertic * sideVertic; ++counterVertic ) {
        printf( "%c ", fillCharacter );
        if( counterVertic == sideVertic * rigaCounter ) {
            puts( "" );
            ++rigaCounter;
        } 
    }
}
/*
#include <stdio.h>
void square( int side, char fillCharacter );
int main( void ) {
    printf( "%s", "Enter a character and the side lenght:  " );
    int s; // lunghezza del lato
    char c; // carattere di riempimento
    scanf( "%c%d", &c, &s );
    puts( "" );
    square( s, c ); // stampa quadrato pieno con carattere specificato
}

// square stampa quadrato pieno di fillCharacter con il lato specificato
void square( int side, char fillCharacter ) {
    // ripeti side per il numero di righe
    for( unsigned int loop = 1; loop <= side; ++loop ) {
        for( unsigned int loop2 = 1; loop2 <= side; ++loop2 ) {
            printf( "%c ", fillCharacter );
        }
        puts( "" );
    }
}
*/


6 Risposte

  • Re: Strano output dal quale non ne vengo fuori...

    Perché hai aperto un nuovo thread? Non è una cosa gradita nei forum.
  • Re: Strano output dal quale non ne vengo fuori...

    Ti sembra un vecchio thread? ...piuttosto se sapevi rispondere a quello di prima magari saresti stato più gentile a rispondere.
  • Re: Strano output dal quale non ne vengo fuori...

    Intendo un nuovo thread sullo stesso argomento, cosa vietata. Quindi non fare la vittima e rispetta i regolamenti e gli altri utenti che ti hanno aiutato in tante occasioni.

    Segnalo la cosa al'admin, dopo di che ti arrangi.
  • Re: Strano output dal quale non ne vengo fuori...

    Dunque non sai rispondere... bravo... e la vittima la fai tu, **********...
  • Re: Strano output dal quale non ne vengo fuori...

    oregon ha scritto:


    Intendo un nuovo thread sullo stesso argomento, cosa vietata. Quindi non fare la vittima e rispetta i regolamenti e gli altri utenti che ti hanno aiutato in tante occasioni.

    Segnalo la cosa al'admin, dopo di che ti arrangi.
    Segnala anche che utile al forum lo sei solo quando ti va...
    https://prnt.sc/hu426
    
    // ESERCIZIO 5.20: Stampare un quadrato di un qualunque carattere.
    // Modificate la funzione realizzata nell'esercizio 5.19 per formare il quadrato con qualsiasi carattere contenuto nel parametro di tipo carettere fillCharacter. Così, se side è 5 e fillCharacter è "#", questa funzione deve stampare:
    
    //     # # # # #
    //     # # # # #
    //     # # # # #
    //     # # # # #
    //     # # # # #
    
    // Codice sorgente:
    #include <stdio.h>
    char quadrAsterCaratterePieno( int sideOriz, char fillCharacter );
    int main( void ) {
        puts( "Questo è un programma che stampa un quadrato pieno di lato a scelta dell'utente formato dal carattere scelto dall'utente.\n" );
        printf( "%s", "Si prega di inserire la lunghezza del lato del quadrato pieno:   " );
        int latoUtente;       
        scanf( "%d", &latoUtente );
        while( latoUtente != 0 ) {
            printf( "%s", "Si prega di inserire il carattere dal quale sarà formato il quadrato:  " );
            char carattere = getchar();
            scanf( "%c", &carattere );
            puts( "" );
            quadrAsterCaratterePieno( latoUtente, carattere );     
            printf( "%s", "\nSi prega di inserire la lunghezza del lato del quadrato pieno:   " );
            scanf( "%d", &latoUtente );
        }
    }
    char quadrAsterCaratterePieno( int sideOriz, char fillCharacter ) {
        int rigaCounter = 1;
        for( int counterVertic = 1; counterVertic <= sideOriz * sideOriz; ++counterVertic ) {
            printf( "%c ", fillCharacter );
            if( counterVertic == (sideOriz * rigaCounter) ) {
                puts( "" );
                ++rigaCounter;
            } 
        }
    }
    
    
    
    /*   
    RISPOSTA DEL LIBRO:
    #include <stdio.h>
    void square( int side, char fillCharacter );
    int main( void ) {
        printf( "%s", "Enter a character and the side lenght:  " );
        int s; // lunghezza del lato
        char c; // carattere di riempimento
        scanf( "%c%d", &c, &s );
        puts( "" );
        square( s, c ); // stampa quadrato pieno con carattere specificato
    }
    
    // square stampa quadrato pieno di fillCharacter con il lato specificato
    void square( int side, char fillCharacter ) {
        // ripeti side per il numero di righe
        for( unsigned int loop = 1; loop <= side; ++loop ) {
            for( unsigned int loop2 = 1; loop2 <= side; ++loop2 ) {
                printf( "%c ", fillCharacter );
            }
            puts( "" );
        }
    }
    */
    
    
    
  • Re: Strano output dal quale non ne vengo fuori...

    X JackieJack1207: in questo forum non si usano termini offensivi verso gli altri membri della community. Come vedi ho messo qualche asterisco nel tuo messaggio.
    Oregon ti ha diligentemente richiamato a rispettare il regolamento..., ed è vero, non è ammessa la pubblicazione di più discussioni sullo stesso problema.

    Ti invito a leggere il regolamento, grazie

    Chiudo il thread visto che non è conforme alle regole del Forum
Devi accedere o registrarti per scrivere nel forum
6 risposte