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

    [C] Scrivere un grafico in un file.. oO

    Ciao..

    Ho ottenuto su schermo un grafico cartesiano..

    Bene.. Il problema sorge perchè dovrei "salvare" il grafico in un file.. Come posso fare???


    Non ho la più pallida idea Oo

    Grazie!!

  2. #2
    Non ho la più pallida idea
    Neanche noi, almeno finché non descrivi nel dettaglio come (con quale codice, con quali librerie, etc) hai creato il grafico.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  3. #3
    Nessuna libreria grafica o altro..

    Tutto printf

    Codice PHP:
    void disegnaPunti(char campo[DIMO][DIMV], int punti[][2], int num)
    {
        
    system("CLS");
        
        
    int pypxcij;
        
        
    //Centro del Piano Cartesiano: (DIMO/2,DIMV/2)
        
        
    for(i=0i<numi++)
        {
                 
    px punti[i][0];
                 
    py punti[i][1];
                 
    campo[(DIMO/2) - py][(DIMV/2) + px] = PUNTO;
        }
        
        for(
    i=0i<DIMOi++)
        {
                for(
    j=0j<DIMV+1j++)
                {
                          if(
    campo[i][j] == PUNTOprintf("%c"PUNTO);
                          else
                          {
                              if(
    j==DIMVprintf("\n");
                              else
                              {
                                  if((
    i==(DIMO-30)) && (j==DIMV/2)) printf("%c"197);
                                  else
                                  {
                                       if(((
    i==(DIMO-30)) && (j==DIMV-1))) printf("%c x"'>');
                                       else
                                       {
                                           if(
    i==(DIMO-30)) printf("%c"196);
                                           else
                                           {
                                               if(
    j==DIMV/&& i==0printf("%c y"127);
                                               else
                                               {
                                                   if(
    j==DIMV/2printf("%c"179);
                                                   else 
    printf(" ");
                                               }
                                           }
                                       }
                                  }
                              }
                          }
                }
        }

    dove in punti[i][0] sono memorizzate le coordinate x, mentre in punti[i][1] le y.

    Non so se sono stato chiaro..

    Questi punti:
    punti[0][0] = 2
    punti[1][0] = 3
    punti[2][0] = 5
    punti[3][0] = 8
    punti[4][0] = 1
    punti[5][0] = 0
    punti[0][1] = -2
    punti[1][1] = 5
    punti[2][1] = -1
    punti[3][1] = 4
    punti[4][1] = 4
    punti[5][1] = 9

    equivalgono a:
    (2,-2) ; (3,5) ; (5,-1) ; (8,4) ; (1,4) ; (0,9)

  4. #4
    Cambia la definizione della funzione in
    codice:
    void disegnaPunti(char campo[DIMO][DIMV], int punti[][2], int num, FILE * file)
    , quindi modifica tutte le printf in fprintf, specificando come primo parametro file; in questa maniera quando vorrai visualizzare il grafico sullo schermo passerai a disegnaPunti come ultimo parametro stdout, quando invece vorrai scrivere il grafico su un file ti basterà aprire il file con fopen, passare il puntatore al file come ultimo parametro di disegnaPunti e infine chiudere il file con fclose.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    uhm.. ho provato ma non funzia.. come devo fare per fprintf??

    io faccio

    Codice PHP:
    if(campo[i][j] == PUNTO){ fprintf(fp_out"%c"PUNTOstdout); printf("%c"PUNTO); }
                          else
                          {... 
    ecc 
    ma non va ç_ç

  6. #6
    Non hai capito... io intendevo così:
    codice:
    void disegnaPunti(char campo[DIMO][DIMV], int punti[][2], int num, FILE * fp_out)
    {
        if(fp_out==stdout)
            system("CLS");
        
        int py, px, c, i, j;
        
        //Centro del Piano Cartesiano: (DIMO/2,DIMV/2)
        
        for(i=0; i<num; i++)
        {
                 px = punti[i][0];
                 py = punti[i][1];
                 campo[(DIMO/2) - py][(DIMV/2) + px] = PUNTO;
        }
        
        for(i=0; i<DIMO; i++)
        {
                for(j=0; j<DIMV+1; j++)
                {
                          if(campo[i][j] == PUNTO) fprintf(fp_out,"%c", PUNTO);
                          else
                          {
                              if(j==DIMV) fprintf(fp_out,"\n");
                              else
                              {
                                  if((i==(DIMO-30)) && (j==DIMV/2)) fprintf(fp_out,"%c", 197);
                                  else
                                  {
                                       if(((i==(DIMO-30)) && (j==DIMV-1))) fprintf(fp_out,"%c x", '>');
                                       else
                                       {
                                           if(i==(DIMO-30)) fprintf(fp_out,"%c", 196);
                                           else
                                           {
                                               if(j==DIMV/2 && i==0) fprintf(fp_out,"%c y", 127);
                                               else
                                               {
                                                   if(j==DIMV/2) fprintf(fp_out,"%c", 179);
                                                   else fprintf(fp_out," ");
                                               }
                                           }
                                       }
                                  }
                              }
                          }
                }
        }
    }
    poi quando richiami questa funzione se devi stampare a video le passi come ultimo parametro stdout, se no un puntatore al file su cui scrivere.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    GRAZIE MILLE FUNZIONAAAAA

    SEI UN GRANDE

  8. #8
    Per così poco...
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.