View Full Version : [c] ragazzi chi mi puo dare una mano nell'implentazione di questo algoritmo?
bancodeipugni
19-01-2014, 13:43
cosa vorresti che te lo facessimo noi ? :D
la simulazione deve prevedere la visualizzazione del cammino del postino ed inoltre ad ogni consegna il postino annuncia il nome e il cognome dell'utente che riceve la posta.
è questa funzione che non so implementare :mc: :muro: :muro:
La visualizzazione si può fare in diversi modi. Ti propongo quella che secondo me è più semplice.
Ipotizzando di modellare il quartiere con un array bidimensionale di dimensione n x m, per visitarlo si dovranno usare un indice per la riga e uno per la colonna, che vanno aggiornati di volta in volta sulla base dell'algoritmo.
Tu puoi semplicemente usare ad ogni passo del postino la printf usando come parametri questi due indici che di fatto rappresentano il "percorso".
Il postino, per annunciare la posta, deve solo stampare nome e cognome associati a quello specifico elemento dell'array che ha appena visitato e in cui ha consegnato la posta.
Ho letto velocemente il codice, quindi non ho verificato se è corretto. Ti do solo un'idea su come realizzare la stampa del percorso usando il tuo codice
void consegna(casa abitazione)
{
printf("%d posta consegnata al Sig. %s %s al N°%d, strada:%d\n",abitazione.posta,abitazione.cognome,abitazione.nome,abitazione.num_civ,abitazione.num_str);
}
void percorso(casa ab[][10],int n,int m)
{
int i,j;
for(i=0;i<n;i++)
{
if(i%2==0)
for(j=m-1;j>=0;j--)
{
printf("Il postino ora visita la casa %d nella strada %d",indice della casa,indice della strada)
if(ab[i][j].posta!=0)
consegna(ab[i][j];
}
else
for(j=0;j<m;j++)
{
printf("Il postino ora visita la casa %d nella strada %d",indice della casa,indice della strada)
if(ab[i][j].posta!=0)
consegna(ab[i][j];
}
}
}
ciao , il codice che hai scritto prevede solo la stampa della consegna ma non il percorso che fa il postino , non so proprio come far visualizzare questo benedetto percorso che fa :help: :help:
Da quello che ho capito io leggendo il testo dell'esercizio, il "percorso" sono semplicemente i passi che il postino compie e le due istruzioni
printf("Il postino ora visita la casa %d nella strada %d",indice della casa,indice della strada)
fanno proprio questo cioè la stampa a video di tutte le case in cui passa. Poi, se in ogni specifca casa c'è anche posta da consegnare, si chiama la funzione consegna che annuncia la consegna stampando a video un messaggio
Se, invece, per "percorso" si intende qualcosa di diverso, chiarisci meglio quello che l'esercizio deve realizzare.
rileggendo meglio la traccia ho notato che richiede il cammino oltre alla stampa del percorso , ciò che non riesco a stampare è proprio il cammino che fa il postino
Mi dai una definizione precisa di "cammino" e "percorso" del postino?
ciao innanzitutto ti ringrazio per la tua disponibilità e ti chiedo scusa se sono stato poco chiaro .. ho fatto io un po di confusione ed hai perfettamente ragione tu ciò che chiede la traccia è quello che mi hai suggerito di fare.. ti ringrazio di vero cuore per la tua disponibilità :read: :)
Di nulla. ;)
In realtà questa è una versione "light" dell'algoritmo del postino perchè questo algoritmo si affronta spesso nei corsi universitari che trattano la ricerca operativa, ma di solito è più complesso di questo.
giusto per farmi un'idea per il futuro, potresti illustrarmi come sarebbe con la ricerca operativa?
giusto per farmi un'idea per il futuro, potresti illustrarmi come sarebbe con la ricerca operativa?
Questo è un breve pdf che ti anticipa in maniera semplice qualche concetto di teoria
http://www.di.unipi.it/user/mpassacantando/tfa/cicli%20euleriani.pdf
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.