|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2003
Città: Montaione (FI)
Messaggi: 2
|
Aiuto c++
per favore ho bisogno urgente di una funzione che separa due liste dinamiche disordinate di elementi con la seguente struct:
struct coda { //Definizione struttura coda char nome[20]; //Nome prenotazione int macchine; //Macchine prenotazione int persone; //Persone prenotazione coda *punt; //Puntatore lista }; ecco la mia ma non so perchè non funziona # define MAX_MACCHINE 20 //Numero massimo di macchine # define MAX_PERSONE 100 //Numero massimo di persone void separa(coda*&pt1,coda*&fine1,coda*&pt2,coda*&fine2,int *mac_occ,int *pers_occ) { coda *aux,*aux2; aux=pt1; pt1=fine1=NULL; while(aux!=NULL) { aux2=(*aux).punt; if(*mac_occ+(*aux).macchine<=MAX_MACCHINE && *pers_occ+(*aux).persone<=MAX_PERSONE) { inserisci(pt2,fine2,aux); *mac_occ+=(*aux).macchine; *pers_occ+=(*aux).persone; } else inserisci(pt1,fine1,aux); aux=aux2; } } void inserisci(coda *&pt,coda *&pc,coda *nuovo) { if(pt==NULL) pt=pc=nuovo; else { (*pc).punt=nuovo; pc=nuovo; } (*pc).punt=NULL; } pt1 e pt2 sono i puntatori di testa delle liste, fine1 e fine2 sono quelli di coda. mac_occ e pers_occ sono due variabili intere non contenenti numeri negativi. PER FAVORE AIUTATEMI NE HO BISOGNO URGENTE |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Qual è la condizione che decide se mettere un elemento nella lista1 o nella lista2 ?
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Dec 2003
Città: Montaione (FI)
Messaggi: 2
|
if(*mac_occ+(*aux).macchine<=MAX_MACCHINE && *pers_occ+(*aux).persone<=MAX_PERSONE)
per accodare un elemento alla seconda lista bisogna che sia il suo campo macchine che il suo campo persone aggiunti alle macchine e persone già presenti non sia maggiore del numero massimo di macchine e persone disponibili. Per favore aiutami non so che fare |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
non è che non sa che fare è che la funzione del programma (esercitazione di laboratorio) gliela ho passata io, a me funziona anche perchè l'ho studiata io, a lui no comunque sembra che gli abbia risolto il problema, si era dimenticato di riazzerare le variabili del conteggio della macchina e delle persone.
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:52.



















