|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Quote:
X-C/B; è un'istruzione sintatticamente e semanticamente corretta in qualsiasi programma c/c++, in cui X, C e B siano state dichiarati come variabili numeriche come in questo caso; difatti X-C/B è semplicemente un'espressione, e in c/c++ una simgola espressione puo essere utilizzata come istruzione a sè stante; in esecuzione l'espressione viene valutata e il risultato prodotto è scartato.
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
|
|
|
|
|
|
#22 | |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1455
|
Quote:
__________________
Ciao ~ZeRO sTrEsS~ |
|
|
|
|
|
|
#23 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
|
Salve a tutti....sono anche io un po alle prime armi con il c/c++ (faccio la 3za itis).
Vorrei capire perchè questo programma non funziona: Codice:
#include <stdio.h>
int main()
{
const int dim=3;
int numero[dim],i=0;
float totale,media;
for(i=0;i<=dim;i++){
printf("\nInserisci");
scanf("%d",numero[i]);
totale+=numero[i];
}
media=totale/dim;
printf("\n%f",media);
}
P.S. sto compilando in linux con gcc se puo servire
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school Wind FTTE Vula 100/20 - Stats Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX |
|
|
|
|
|
#24 | |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1455
|
Quote:
__________________
Ciao ~ZeRO sTrEsS~ |
|
|
|
|
|
|
#25 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
|
E' vero!
Da 0 a n-1, giusto. grazie Pero' ho un problema analogo con questo programma (compito per le vacanze..è in beta ancora Codice:
/* Creare un programma che legga i voti di informatica della classe
3 vettori: 1 orale, 1 scritto, 1 pratica;
Fornire la media di tutti i voti, in scritto, orale e pratico. Il programma deve stampare il voto massimo,
minimo. */
#include <stdio.h>
#define dim 5
#define dim2 6
int main()
{
int orale[dim],scritto[dim],pratico[dim];
int min,max,temp[dim2],i;
float totale,totale1,totale2;
float media,media1,media2;
for(i=0;i<dim;i++)
{
printf("\nInserire il voto orale numero %d",i); printf(" ");
scanf("%d",&orale[i]);
if(i==0)
{
min=orale[i];
max=orale[i];
}
if(orale[i]<min)
{orale[i]=temp[0];}
if(orale[i]>max)
{orale[i]=temp[1];}
totale=totale+orale[i];
}
for(i=0;i<dim;i++)
{
if(i==0)
{
min=scritto[i];
max=scritto[i];
}
printf("\nInserire il voto scritto numero %d",i); printf(" ");
scanf("%d",&scritto[i]);
if(orale[i]<min)
{scritto[i]=temp[2];}
if(orale[i]>max)
{scritto[i]=temp[3];}
totale1=totale1+scritto[i];
}
for(i=0;i<dim;i++)
{
printf("\nInserire il voto pratica numero %d",i); printf(" ");
scanf("%d",&pratico[i]);
if(i==0)
{
min=pratico[i];
max=pratico[i];
}
if(orale[i]<min)
{pratico[i]=temp[4];}
if(orale[i]>max)
{pratico[i]=temp[5];}
totale2=totale2+pratico[i];
}
media=totale/dim;
media1=totale1/dim;
media2=totale2/dim;
printf("\nLa media in orale e' %f ",media);
printf("\nLa media in scritto e' %f ",media1);
printf("\nLa media in pratico e' %f ",media2);
printf("\nIl voto minimo in orale e'"); printf("%d",temp[0]);
printf("\nIl voto massimo in orale e'"); printf("%d",temp[1]);
printf("\nIl voto minimo in scritto e'"); printf("%d",temp[2]);
printf("\nIl voto massimo in scritto e'"); printf("%d",temp[3]);
printf("\nIl voto minimo in pratico e'"); printf("%d",temp[4]);
printf("\nIl voto massimo in pratico e'"); printf("%d",temp[5]);
return;
}
e faccio totale[0],totale[1] ecc...?
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school Wind FTTE Vula 100/20 - Stats Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX Ultima modifica di -Yara- : 07-01-2005 alle 16:51. |
|
|
|
|
|
#26 | ||
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1455
|
Quote:
Quote:
__________________
Ciao ~ZeRO sTrEsS~ |
||
|
|
|
|
|
#27 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Pordenone - Tarvisio
Messaggi: 2451
|
Quote:
E cosa significa in prima posizione? Grazie
__________________
Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school Wind FTTE Vula 100/20 - Stats Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX |
|
|
|
|
|
|
#28 | |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1455
|
Quote:
Per prima posizione intendo, che se i voti orali sono 2 3 4, vedi che qualcosa non ti funzionerà
__________________
Ciao ~ZeRO sTrEsS~ |
|
|
|
|
|
|
#29 |
|
Senior Member
Iscritto dal: Sep 2003
Messaggi: 9434
|
ma il mio ultimo problema?sto cercando un aiutino...
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W 2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370. |
|
|
|
|
|
#30 |
|
Senior Member
Iscritto dal: Sep 2003
Messaggi: 9434
|
Mi aiutate con questo problema:
/*Si scriva un programma che, assegnato in ingresso un insieme di riemp valori float ad un vettore vett, calcoli: - il prodotto degli elementi del vettore; - quanti elementi del vettore e' necessario sommare, nell'ordine dal primo in poi, per raggiungere un valore della somma >=S, con S assegnato in ingresso; si visualizzino quindi i valori calcolati. Di ogni elemento del vettore, si calcoli inoltre la radice quadrata in due modi distinti: utilizzando la funzione di libreria sqrt ed utilizzando l'algoritmo per il calcolo della radice quadrata come limite di una successione, con precisione assegnata. Si produca quindi, sul supporto di uscita, una tabella che per ogni valore vett[i] riporti i valori di sqrt(vett[i]) e della radice di vett[i] calcolata nel secondo modo. Il programma deve essere articolato in funzioni (ad es.: input,output, somma, prodotto, radquad1, radquad2). Suggerimento: ad es. la funzione prodotto riceve in ingresso il vettore ed il suo riempimento e restituisce il valore del prodotto al nome della funzione. Codice:
#include<iostream>
#include <stdlib.h>
#include<math.h>
using namespace std;
void input(int&n,float v[]);
int num_somma(int n,float v[],float S);
float prodotto(int n,float v[]);
void radquad1(int n,float v[],float RQ1[]);
void radquad2(int n,float v[],float RQ2[],float E);
void output_tabella(int n,float v[],float RQ1[],float RQ2[]);
int main()
{
int riemp;
float vett[100];
float rad1[100]; float rad2[100];
float Err,S;
void input(int&n,float v[]);
input(riemp,vett);
cout<<"\nassegna valore alla soma S";
cin>>S;
cout<<"\nilnumero di elementi da sommare per raggiungere un valore >= a "<<S<<"e\'= a "<<num_somma (riemp,vett,S);
cout<<"\nil prodotto degli elementi del vettore è = "<<prodotto(riemp,vett);
cout<<"\n";
num_somma (riemp,vett,S);
prodotto(riemp,vett);
radquad1(riemp,vett,rad1);
radquad2(riemp,vett,rad2,Err);
output_tabella(riemp,vett,rad1,rad2);
system("PAUSE");
return 0;
}
void input(int&n,float v[])
{int i;
cout<<"\nassegna valore int al numero di elementi n, del vettore\n";
cin>>n;
cout<<"\nAssegna "<<n<<" valori float a vett\n";
for(i=0;i<n;i++);
cin>>v[i];
}
int num_somma(int n,float v[],float S)
{
float som=0; int i=0;
do
{
som=som+v[i];
i++;
}while((i<n)&&(som<S));
return i;
}
float prodotto(int n,float v[])
{
float prod=1; int i;
for(i=0;i<n;i++)
prod=prod*v[i];
return prod;
}
void radquad1(int n,float v[],float RQ1[])
{ int i;
for(i=0;i<n;i++)
RQ1[i]=sqrt(v[i]);
}
void radquad2(int n,float v[],float RQ2[],float E)
{ float Rqprec;int i;float Err;
for(i=0;i<n;i++);
RQ2[i]=1;
cout<<"\nassegna valore float all'errore";
cin>>Err;
do{
Rqprec=RQ2[i];
RQ2[i]=(RQ2[i]+v[i]/RQ2[i])/2;
}while(fabs(RQ2[i]-Rqprec)>E);
}
void output_tabella(int n,float v[],float RQ1[],float RQ2[])
{int i;
cout<<"\nv[i]\t\t\tRQ1[i]\t\t\tRQ2[i]\n";
for(i=0;i<n;i++)
cout<< v[i]<<"\t\t"<<RQ1[i]<<"\t\t"<<RQ2[i]<<"\n";
}
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W 2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370. |
|
|
|
|
|
#31 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Vedo che non hai seguito il mio consiglio su endl...
Comunque se non ci dici dov'è il problema secondo me otterrai ben pochi consigli... Cerca di isolare il problema (se non sai usare il debugger modifica ilc odice ad hoc per testare una singola funzione o un singolo pezzo di codice) |
|
|
|
|
|
#32 | |
|
Senior Member
Iscritto dal: Sep 2003
Messaggi: 9434
|
Quote:
e poi c'è una differenza tra \n ed endl ma fin quando nessuno me la dice io applicherò sempre \n......
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W 2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370. |
|
|
|
|
|
|
#33 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
\n non si usa nell'output di testo perchè non tutti i sistemi operativi utilizzano il solo \n per andare a capo...
Per testare una sola funzione: int funzionedatestare(int c, float b, int a) { .... } int main() { .... cout << funzionedatestare(10, 2.0, 3); ... } Inoltre non si scrive mai l'intero programma senza aver testato precedentemente le funzioni principali... |
|
|
|
|
|
#34 | |
|
Senior Member
Iscritto dal: Sep 2003
Messaggi: 9434
|
Quote:
int funzionedatestare(int c, float b, int a) { .... } dove la devo digitare?che c'entra col debug? come si fa a testare le funzioni principali?col debug?scusami, ma non sono molto pratico
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W 2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370. |
|
|
|
|
|
|
#35 |
|
Member
Iscritto dal: Oct 2003
Città: Umbertide
Messaggi: 180
|
La funzione input va corretta in questo modo:
void input(int&n,float v[]) {int i; cout<<"\nassegna valore int al numero di elementi n, del vettore\n"; cin>>n; cout<<"\nAssegna "<<n<<" valori float a vett\n"; for(i=0;i<n;i++){ cin>>v[i]; }; } inoltre l' algoritmo che tu stai usando per calcolare la radice quadrata non è corretto. Controlla questo link: http://www.geocities.com/cnowlen/Cat...Squareroot.htm |
|
|
|
|
|
#36 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#37 | |
|
Senior Member
Iscritto dal: Sep 2003
Messaggi: 9434
|
Quote:
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W 2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370. |
|
|
|
|
|
|
#38 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Ad esempio puoi passare 4 alla funzione che calcola la radice quadrata e il risultato dovrà essere due... Oppure gli passi il un numero negativo epr vedere come si comporta...oppure un qualsiasi altro numero di cui conosci la radice quadrata... Ultima modifica di cionci : 10-01-2005 alle 14:28. |
|
|
|
|
|
|
#39 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 939
|
volevo provare a correggere il programma per il calcolo della radice(oramai non gli servirà più,ma è solo per mettermi un po' alla prova con qualcosa di facile
#include<iostream> using namespace std; #include<stdlib.h> #include<math.h> int main() { float x; char ripeti; do { cout<<"assegna valore ad x\n"; cin>>x; if(x>=0) { cout<<"il risultato della radice è r="<<sqrt(x)<<"\n"; } else { cout<<"\nla radice è impossibile"; } cout<<"\nvuoi continuare? s/n\t"; cin>>ripeti; }while(ripeti=='s'); system("PAUSE"); return 0; } che ne dite? |
|
|
|
|
|
#40 |
|
Senior Member
Iscritto dal: Sep 2003
Messaggi: 9434
|
mi sapete dire che cosa è la funzione di casting?
__________________
1)P4 2.4-Asrock p4i65- Sapphire Hd3450 512mb agp- 2GB ddr400-Hd 80gb WD- Thermaltake Litepower 450W 2)Amd 3200-Msi K8n Neo4 Platinum - 2*512 MB pc3200-Asus N6600gt- HD WD 160GB-enermax noisetacker 370. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:40.



















