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!!
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!!
Neanche noi, almeno finché non descrivi nel dettaglio come (con quale codice, con quali librerie, etc) hai creato il grafico.Non ho la più pallida idea
"Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."
Nessuna libreria grafica o altro..
Tutto printf
dove in punti[i][0] sono memorizzate le coordinate x, mentre in punti[i][1] le y.Codice PHP:
void disegnaPunti(char campo[DIMO][DIMV], int punti[][2], int num)
{
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) printf("%c", PUNTO);
else
{
if(j==DIMV) printf("\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/2 && i==0) printf("%c y", 127);
else
{
if(j==DIMV/2) printf("%c", 179);
else printf(" ");
}
}
}
}
}
}
}
}
}
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)
Cambia la definizione della funzione in
, 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.codice:void disegnaPunti(char campo[DIMO][DIMV], int punti[][2], int num, FILE * file)
Amaro C++, il gusto pieno dell'undefined behavior.
uhm.. ho provato ma non funzia.. come devo fare per fprintf??
io faccio
ma non va ç_çCodice PHP:
if(campo[i][j] == PUNTO){ fprintf(fp_out, "%c", PUNTO, stdout); printf("%c", PUNTO); }
else
{... ecc
Non hai capito... io intendevo così:
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.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," "); } } } } } } } } }
Amaro C++, il gusto pieno dell'undefined behavior.
Per così poco...
Amaro C++, il gusto pieno dell'undefined behavior.