|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 48
|
FUNZIONE IN C++
Considerando le strutture: struct Esame{ long int matricola studente; char materia[30] Data giornoEsame; int tipo; //può valere 0,1,2 x indicare scritto,orale,pratico }; struct Data { int giorno; int mese; int anno; }; Scrivere una funzione che aCquisito in input un vettore di Esami, la sua lunghezza e una data, elimina dal vettore, compattandolo, gli esami "orali" il cui giorno è antecedente alla data fornita in input e ritorna la nuova lunghezza. Il prototipo della funzione è: int Aggiorna(Esame V[], int l, Data d, int tipoEsame): |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2780
|
In genere nessuno fa i compiti degli altri. Inizia a scrivere tu la funzione e poi se qualcosa non ti è chiara chiedi
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Jan 2007
Messaggi: 48
|
Quote:
E' questo il fatto: il testo non mi è chiaro.. non ho chiesto di fare l'intero programma ma solo 1 funzione!! |
|
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Jan 2007
Messaggi: 48
|
Quote:
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
|
Quote:
parti dal primo elemento; se vedi che l' esame in quella posizione è orale && ha un valore di data (giorno*30+mese*12+anno) minore del valore calcolato dalla data passata alla funzione, allora: shifti a sinistra di una posizione i valori del vettore dalla posizione successiva fino alla lunghezza attuale -1, invalidando (tipo = -1 e azzeramento della stringa) quello in coda, decrementi di 1 la lunghezza, riverifichi l' esame nella posizione corrente; altrimenti, passi a quello successivo; quando hai controllato anche quello con indice pari a (lunghezza attuale -1) e non lo hai invalidato esci dal ciclo e ritorni il valore attuale della lunghezza
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 04-02-2007 alle 21:49. |
|
|
|
|
|
|
#6 | |
|
Member
Iscritto dal: Jan 2007
Messaggi: 48
|
Quote:
allora utilizzo tipoEsame come struttura sulla quale lavorare .. è simile al gioco del lotto: ho 90 elementi e ogni volta che uno viene estratto lo devo cancellare dal vettore sovrapponendogli gli elementi successivi e lasciando vuoto l'elemento finale (in pratica spostare a sinistra tutti gli elementi da E + 1 a L dove L è la lunghezza del vettore, che diminuisce di 1 ogni elemnto che elimino... fatto questo resta un vettore compattato senza gli esami orali e di dimensioni L1 dove L1 è L meno il numero di elementi cancellati... + o - è così no?! sa chi è così gentile che me lo codifica in linguaggio c non ce la faccio più! |
|
|
|
|
|
|
#7 | |||||
|
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4739
|
Quote:
questo si aggiunge alla verifica richiesta sul tipo dell' esame e relativa compattazione , quindi anche dal punto d ivista dell' efficienza è preferibile , oltre che più semplice, adottare la tattica di scorrere l' array (non preordinato) nel loop di compattazione Quote:
Quote:
Quote:
solo che per non lasciare un array "sporco", oltre a spostare a sinistra gli elementi successivi, invaliderei la cella priecedentemente occupata dall' ultimo elemento, inserendo valori di default normamente non usati (tipo = -1, stringa "\n" ,matricola =0 ecc) e lo stesso se viene eliminato l' ultimo elemento all' utimo controllo, non si shifta nulla ma si "invalida" la sua cella (*) e si riduce la dimensione (*) è comunque una mia prassi personale, per ordine Quote:
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
|
|||||
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Jan 2007
Messaggi: 48
|
Quote:
Buonanotte |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:37.



















