Newsgroup: it.comp.lang.c
Titolo: forse la fine!

Ragazzi sono arrivato a questo risultato grazie ai voi!!!!
ma ancora sbaglio mi sà che non troverò mai la soluzione magari è banale ma
io non riesco a trovarla!!!!
il codice è questo:
#include <math.h>
#include <stdio.h>
#define N 15
int main()
{
   double i; double c; float p;
printf("\t Numero \t Quadrato\t Radicequadrata\n");
for (i = 1; i <= N; ++i)
{
c = pow(i,2);  p = sqrt(i);
printf("\t %f \t%f\t %f \n",i,c, p);
}
return 0;
}
ora sorge il problema :
1) non calcola il quadrato
2) i numeri spuntano cosi a video
Numeri               Quadrato          RadiceQuadrata
1.000000             1.00000            1.0000000
3) la radice quadrata viene calcolata ed è giusta problema in meno
:)))))))!!!!!
ora, ho provato a modificare le specifiche di confersione modificandoli in
%.1f  %.1f  %.2f
ma come si fà a fare visulizzare nella prima e senconda colonna solo il
numero int 1 2 3 4 5
come mai non calcola il quadrato?
ragazzi vi scongiuro scrivetemi il codice perchè non capisco più nulla, è
due giorni che sono buttato su questo esercizio è non ne vedo via d'uscita
Gentilissimi per il vostro aiuto
continuo a immeggermi nella lettura del libro D&D vedo se trovo qualcosa ma
mi sò di no!!!!

 1) non calcola il quadrato
lo calcola
[cut]
ti posto il codice... ma dimmi che lo studierai :-pppppp
eccolo qui:
#include <math.h>
#include <stdio.h>
#define N 15
int main()
{
   double i; double c; float p;
printf("\n\t Numero \t Quadrato\t Radicequadrata\n\n");
for (i = 1; i <= N; ++i)
{
c = pow(i,2);  p = sqrt(i);
printf("\t %3.0f \t\t   %3.0f \t\t    %f \n", i, c, p);
}
return 0;
}
ciao ;-)
-------------------------------------------------
Ci sono 10 tipi di persone al mondo, quelli che
conoscono il codice binario e quelli che non lo
conoscono

Innazitutto ti ringrazio per la tua gentilezza!!!!!!
ho capito dove sbagliavo č questo č tanto!!!!.
poi ieri mi sono letto il libro D&D costo 33,05 euro
485 pag. ma non parla della conversione %3.0f
sņ solamente che %.0f si mette se vuoi 1 cifra dopo la virgola. il 3 prima
non ho capito.
poi non calcola il quadrato, mi scive tutto Numero Quadrato e radice
quadrata perfetti ma nella colonna del quadrato rimane sempre 1!!!! boooo
non capisco!!!! ho provato e riprovato ma non lo calcola!!!!
Intanto grazie sei davvero gentile!!!!!
passo all'atro esercizio ci sarą da muorire!!!!!!

Ciao.
usare un double come indice in un for non e' il massimo...
io farei qualcosa del tipo:
#include <math.h>
#include <stdio.h>
#define N 15
int main() {
     int i;
     double c;
     float p;
     printf( "\tNumero\tQuadrato\tRadicequadrata\n" );
     for( i = 1; i <= N; ++i ) {
         c = pow( i,2 );
         p = sqrt( i );
         printf( "\t%d\t%f\t%f\n", i, c, p );
     }
     return 0;
}
Auguri!


 non capisco!!!! ho provato e riprovato ma non lo calcola!!!!
Comunque poco male: non ha molto senso usare la funzione pow()
per calcolare il quadrato, visto che il quadrato di x e'
uguale a x per x ti basta fare x*x, dove l'asterisco
in C denota la moltiplicazione...
ciao,
g.

ma scusate la mia ignoranza, nei diecimila post che ho scritto sopra e nelle
risposte che gentilmente mi avete fornito ,sono arrivato alla conclusione
che la funzione sqrt() vuole una dichiarazione double !!!! giusto?
ora se io dichiaro
int i; double c; float p;
 la funzione sqrt(i) si fà benedire ? giusto?
poi ho provato questa serie ma non mi tiene conto dei decimali.
printf( "\t%d\t%f\t%f\n", i, c, p );
infatti grazie a uno di voi sono riuscito nella conclusione:
printf("\t %3.0f \t\t   %3.0f \t\t    %f \n", i, c, p);
ed è perfetto!!! ma tranne il quadrato.
Se poi calcolo il quadrato come i*i ma i è dichiarato come double all'inizio
per  sqrt(i)?

 
ecco l'output della mia versione:
         Numero  Quadrato        Radicequadrata
         1       1.000000        1.000000
         2       4.000000        1.414214
         3       9.000000        1.732051
         4       16.000000       2.000000
         5       25.000000       2.236068
         6       36.000000       2.449490
         7       49.000000       2.645751
         8       64.000000       2.828427
         9       81.000000       3.000000
         10      100.000000      3.162278
         11      121.000000      3.316625
         12      144.000000      3.464102
         13      169.000000      3.605551
         14      196.000000      3.741657
         15      225.000000      3.872983
-- 
                Roberto Nunnari -software engineer-
                     mailto:
ro...@nunnisoft.ch
 
http://www.nunnisoft.ch
   Residenza Boschetto 12           tel/fax: 
+41-91-6046511
   6935 Bosco Luganese        """    mobile: 
+41-76-3208561
   Switzerland               (o o)
========================oOO==(_)==OOo========================

grazie di cuore per la tua gentilezza!!!!
ma si vede che sotto unix non funziona perche adesso non mi calcola ne il
quadrato ne la radice quadrata mi spuntano solo zeri! nelle colonne del
quadrato e radice quadrata!!!.
io utilizzo pico editor e cc nomefile -lm per il compilatore

 non ho capito.
Si tratta semplicemente di allineamento degli output. Nello specifico,
allineamento a destra di 3 caratteri.
Marcello
---
--
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.587 / Virus Database: 371 - Release Date: 12/02/2004

  la funzione sqrt(i) si fà benedire ? giusto?
In realtà no.
Tali funioni eseguono un cast automatico nel momento in cui ricevono un int
al posto di un double.
Tuttavia fornire argomenti di tipo double nel caso di funzioni del tipo di
pow e sqrt è la cosa migliore, onde evitare con certezza under o overfolw.
