Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [c] un pò di ordine estetico

    salve,il mio problema è questo:
    devo generare un array nXn di numeri casuali,fin qui tutto bene,con dimensioni 8x8 l'array viene visualizzato in modo ordinato ma se genero un array 15x15 la pagina di output diventa un casino assurdo,c'è un modo nella printf per avere una cosa un pò più elegante ed ordinata casomai mettendo anche il size sopra e lateramente???io credo che il mio modo di usare le printf sia sbagliato...
    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    #define n 8
    int main ()
    {
    int i=0,j=0;
    float x_casuale;
    float a[n][n];



    srand(time(NULL));
    for (i=0;i<n;i++)
    {
    for (j=0;j<n;j++)
    {
    x_casuale=-100+(100+100)*(float)rand()/(float)RAND_MAX;
    a[i][j]=x_casuale;
    }
    }

    for (i=0;i<n;i++)
    {
    for (j=0;j<n;j++)

    printf(" %.2f",a[i][j]);

    printf("\n");
    }}

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi scrivere

    printf(" %6.2f",a[i][j]);

    ma non ho capito la questione del "size" ...

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [c] un pò di ordine estetico

    Originariamente inviato da vale_stella84
    io credo che il mio modo di usare le printf sia sbagliato...
    Basta mettere ad esempio %7.2f
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    vorrei che uscisse in output una cosa del genere:
    array(15x15)

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
    0 x x x x x x x x x x x x x x x x x x
    1 x x x x x x x x x x x x x x x x x x
    2 x x x x x x x x x x x x x x x x x x
    3 x x x x x x x x x x x x x x x x x x
    4 x x x x x x x x x x x x x x x x x x
    5 x x x x x x x x x x x x x x x x x x
    6 x x x x x x x x x x x x x x x x x x
    7 x x x x x x x x x x x x x x x x x x
    8 x x x x x x x x x x x x x x x x x x
    9 x x x x x x x x x x x x x x x x x x
    10 x x x x x x x x x x x x x x x x x x
    11 x x x x x x x x x x x x x x x x x x
    12 x x x x x x x x x x x x x x x x x x
    13 x x x x x x x x x x x x x x x x x x
    14 x x x x x x x x x x x x x x x x x x
    15 x x x x x x x x x x x x x x x x x x

    invece anceh se i risultati sono giusti mi esce un casino assurdo che posso capire solo io

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prova cosi'

    codice:
    	printf("   ");
    	for (j=0;j<n;j++)
    		printf("%6d", j);
    
    	for (i=0;i<n;i++)
    	{
    		printf("\n%2d ", i);
    
    		for (j=0;j<n;j++)
    			printf("%6.1f", a[i][j]);
    	}

  6. #6
    esiste anche la funzione sprintf, che scrive su una stringa anziche' direttamente a video.
    (tratto da questa mia pillola sprintf )

    int sprintf (char *buffer, const char *format [, argument, ...]);
    puo prepararti una stringa del tipo

    "%d %d %d %d %d %d %d %d %d %d"

    [naturalmente e' solo di esempio]
    e riempirla con un vettore esempio:
    Codice PHP:
    sprintf(stringaDiDestinazione"%d %d %d %d %d %d %d %d %d %d" ,arr[0],arr[1],
    arr[2],arr[3],arr[4],arr[5],arr[6],arr[7],arr[8],arr[9]
    )

    printf("%s",stringaDiDestinazione); 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.