Oppure

Loading
15/06/09 13:48
champ
Questo è il codice corretto:

...

int destinatario(int pac[],int *conf){

int ricevuti[10],j;
for(j=0;j<10;j++)
ricevuti[j]=pac[j];
srand(time(NULL));
return *conf=rand()%1;
main(){

int i,conferma,risp;
...

do{
for(i=0;i<10;i++){
printf("\n\nSpedizione pacchetto numero %d\n",i+1);
conferma=destinatario(pacchetti,&risp);
}
}while(conferma!=0);
...

Il programma continua ad inviare gli elementi dell'array consecutivamente,senza eventuali rinvii di uno stesso elemento..
Ultima modifica effettuata da champ 15/06/09 13:48
aaa
15/06/09 13:52
theprogrammer
Tu invii 10 volte tutto l'array ... cosa vorresti fare invece?
aaa
15/06/09 14:00
gigisoft
Postato originariamente da champ:

Questo è il codice corretto:

...

int destinatario(int pac[],int *conf){

int ricevuti[10],j;
for(j=0;j<10;j++)
ricevuti[j]=pac[j];
srand(time(NULL));
return *conf=rand()%1;
main(){

int i,conferma,risp;
...

do{
for(i=0;i<10;i++){
printf("\n\nSpedizione pacchetto numero %d\n",i+1);
conferma=destinatario(pacchetti,&risp);
}
}while(conferma!=0);
...

Il programma continua ad inviare gli elementi dell'array consecutivamente,senza eventuali rinvii di uno stesso elemento..


Salve,
non ho ben compreso il problema, comunque volevo darti un paio di consigli, che forse non ti risolvono il problema, ma che ti saranno certamente utili:

1) quando passi un array a una funzione e' bene che passi anche la sua dimensione, visto che il C (C++) non fa il controllo sulla fuoriuscita dall'array, e un tale errore potrebbe dare risultati imprevedibili;

2) se non ricordo male la funzione rand() restituisce un valore reale compreso tra 0 e 1, quindi se per esempio vuoi un valore intero casuale tra 0 e 10 devi scrivere

return *conf=(rand() * 10) % 1;


3) infine, per rendere piu' chiari i post in futuro sarebbe bene che includessi il codice negli appositi tags.

Spero di esserti comunque stato utile.
Ciao. :k:

Luigi.
Ultima modifica effettuata da gigisoft 15/06/09 14:01
aaa
15/06/09 14:16
champ
Ti ringrazio gigisoft per i consigli.
Vorrei inviare un elemento dell'array alla volta,la funzione destinatario lo copia in un suo array,invia al main un numero casuale ed in base a quest'ultimo,invierà di nuovo lo stesso elemento o il successivo...
aaa