Blazgrom ha scritto:
Marco1234 ha scritto:
Ok, perfetto.
Ho riscritto il codice per l'ultimo punto credo possa andare ma non so.
int main(){
complex s1[3];
complex temp;
s1[0].setReal(30),s1[0].setIm(3); //primo numero
s1[1].setReal(48),s1[1].setIm(3); // secondo numero
s1[2].setReal(50),s1[2].setIm(1); // terzo numero
int i, j;
for (i=0; i<3; i++)
{
for( j=i+1; j<3 ; j++)
{
if (s1[i].getRe() < s1[j].getRe() )
temp = s1[i];
s1[i]=s1[j];
s1[j]=temp;
}
}
for(i=0; i<3; i++)
{
cout<<s1[i].getRe()<<"+"<<s1[i].getIm()<<"j"<<endl;
}
}
Voi che dite funziona come cosa ?
Guarda che stai ordinando in modo decrescente, oltre a questo va tutto bene. Comunque personalmente ci sono alcune cose che io personalmente cambierei.
1) I valori iniziali dei numeri gli puoi inizializzare cosi complex s1[3]={{30.0f,3.0f},{48.0f,3.0f},{50.0f,1.0f}},visto che hai fatto il c-tor che accetta float float ;
2) Gli int i e j che usi per cicli for non devono stare fuori dai cicli
3) La variabile temp non ha senso che sia dichiarata fuori dall'if all'interno del secondo ciclo for
4) Per il cout all'interno del terzo circlo è meglio fare il overload dell'operatore <<
5) Il numero tre che hai usato nei cicli puoi metterlo in una variabile cosi diventa più leggibile
Perfetto, queste sono cose che non avrei notato da solo, un ultima cosa ho riscritto l'ultimo punto.
Volevo inizializzare un array in modo dinamico, ho fatto cosi:
nuotatore *p;
p=new nuotatore[5];
p[0].setNome("pasquale"),p[0].setCognome("ferro"),p[0].setVittorie(4);
p[1].setNome("mauro"),p[1].setCognome("pesca"),p[1].setVittorie(7);
p[2].setNome("luca"),p[2].setCognome("dopo"),p[2].setVittorie(10);
p[3].setNome("osvaldo"),p[3].setCognome("marti"),p[3].setVittorie(0);
p[4].setNome("paolo"),p[4].setCognome("nutto"),p[4].setVittorie(0);
nuotatore temp;
int i,j;
for(i=0;i<5;i++){
for(j=i+1;j<5;j++){
if(p[i].getVittorie()<p[j].getVittorie()){
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
for(i=0;i<5;i++){
cout<<p[i].getNome()<<","<<p[i].getCognome()<<","<<p[i].getVittorie()<<endl;
}
delete [] p;
Questo è un altro esercizio ma nella sostanza cambiano i nomi delle variabili, comunque è corretto fare cosi ?