Stampa di un quadrato costituito da numeri

di il
4 risposte

Stampa di un quadrato costituito da numeri

Buona sera chiedo cortesemente aiuto riguardo il seguente programma, che deve stampare un quadrato di numeri disposti in ordine cescente-.

Lo scopo prefissato l'ho raggiunto, però vorrei migliorare la formattazione ,invece di scrivere 1,2,3 etc vorrei scrivere 01,02,03 fino a 09.

Ma il mio risulato e:

00 001 0012,ovvero viene aggiunto al nuovo contenuto della stringa esistente es se voglio aggiungere 2 vorrei ottenere 02 e non 0012

segno che  la stringa che stampo,String1, dovrebbe essere rinizializzata.

printf("%s ",Stringa1);

//strcpy (Stringa1,"");

Ma non capisco come grazie

https://pastebin.com/YrqxtE6V

4 Risposte

  • Re: Stampa di un quadrato costituito da numeri

    Posta qui il codice, formattato sul forum in maniera corretta

    Comunque non capisco perché vuoi usare delle stringbe

  • Re: Stampa di un quadrato costituito da numeri

    14/07/2023 - oregon ha scritto:


    Posta qui il codice, formattato sul forum in maniera corretta

    Comunque non capisco perché vuoi usare delle stringbe

    Ciao questo è il codice 

    #include <stdio.h>

    #include <stdlib.h>

    #include <string.h>

    //Programma per la conversione di un numero intero in una stringa,Stampando un quadrato di numeri

    int main(void)

    {

    int number,Contatore=0;

    char string[20]="",Stringa1[20]="0";

    char StringaConcatenata[20]="";

    1.  

    printf("Enter a number: ");

    scanf("%d", &number);

    for(int i=0;i<=number;i++)

    {

    for (int j=0;j<=number;j++)

    {

    // printf("%d",K); stampo i Numeri corretteammente in sequenza ma non formattati

    if (Contatore<10)

    {

    1.  

    itoa(Contatore,string,10);//Converto la varaibile j in stringa associandola alla variabile string // itoa(number,string,10);

    strcat(Stringa1,string);//Concateno string in stringa 1

    StringaConcatenata[20]=Stringa1;

    printf("%s ",Stringa1);

    //strcpy (Stringa1,"");

    }

    else

    {

    1.  

    printf("%d ",Contatore);

    }

    //memset(string, 0, 20);

    //*string='/0';

    1.  

    Contatore++;

    }

    printf("\n");

    1.  

    }

    1.  

    return 0;

    L'ho fatto così perché ho visto un esercizio in phyton, tu come faresti? Mi sapresti indicare dove sbaglio. Grazie, buona serata 

  • Re: Stampa di un quadrato costituito da numeri

    La funzione printf formatta i numeri come ti servono, ad esempio

    printf("%02d", i) 

    Prova a riscrivere tutto senza stringhe

  • Re: Stampa di un quadrato costituito da numeri

    15/07/2023 - oregon ha scritto:


    La funzione printf formatta i numeri come ti servono, ad esempio

    printf("%02d", i) 

    Prova a riscrivere tutto senza stringhe

    Ciao Oregon Ho risolto tutti e due i problemi ,con le stringhe e con i numeri

    Programma con stringhe:

    #include <stdio.h>

    #include <stdlib.h>

    #include <string.h>

    //Programma per la conversione di un numero intero in una stringa,Stampando un quadrato di numeri

    int main(void)

    {

    int number,Contatore=0;

    char string[20];

    1.  
    2.  

    printf("Enter a number: ");

    scanf("%d", &number);

    for(int i=0;i<=number;i++)

    {

    for (int j=0;j<=number;j++)

    {

    char Stringa1[20]="0";//Alloco la variabile ad ogni incremento del ciclo

    // printf("%d",K); stampo i Numeri corretteammente in sequenza ma non formattati

    if (Contatore<10)

    {

    1.  

    itoa(Contatore,string,10);//Converto la varaibile j in stringa associandola alla variabile string // itoa(number,string,10);

    strcat(Stringa1,string);//Concateno string in stringa 1

    1.  

    printf("%s ",Stringa1);

    strcpy (Stringa1,"");//Svuoto la varibile ad ogni fine step del ciclo identico al comando Stringa1[20];

    // Stringa1[20];//Svuoto la variabile ad ogni fine step del ciclo strcpy (Stringa1,"")

    1.  

    }

    else

    {

    1.  

    printf("%d ",Contatore);

    }

    //memset(string, 0, 20);

    //*string='/0';

    1.  

    Contatore++;

    }

    printf("\n");

    1.  

    }

    1.  

    return 0;

    }

    Programma con variabili di tipo int

    # include <stdio.h>
    # include <string.h>
    # include <stdlib.h>
    //Programma per stampare un quadratomdi numeri
    int main()
    {
       int number;
       int Contatore=0 
        printf("Enter a number: ");
         scanf("%d", &number);
       for( ;int i=0;i<=number;i++)

    {
       for (int j=0;j<=number;j++)
       {
         if (j<9)  printf("%03d ",Contatore++);

       }

    printf("\n");
    }

       return 0;
    }

    Grazie per la dritta .

Devi accedere o registrarti per scrivere nel forum
4 risposte