Originariamente Scritto da Tristan
Visualizza Messaggio
Programmatori di C a me
Collapse
X
-
portarsi dietro la struct è implicitoOriginariamente Scritto da laplace Visualizza Messaggiose ho capito quello che dici, in questo modo scambi solo i voti degli sudenti...magari i piu somarelli sarebbero contenti




Commenta
-
-
ah si.Originariamente Scritto da Tristan Visualizza Messaggioportarsi dietro la struct è implicito
cmq io userei qsort e chi si è visto si è visto...
Commenta
-
-
anche perchè il s.sort ha complessità O(n^2)Originariamente Scritto da laplace Visualizza Messaggioah si.
cmq io userei qsort e chi si è visto si è visto...



Commenta
-
-
cmq ho provato il file cm da me scritto e devo dire che funziona.Originariamente Scritto da Tristan Visualizza Messaggio*niente
Adesso devo fare altre parte del programma.
Devo individuare e contare i maschi (le femmine saranno date da i(conta gli elementi presenti nel file)-M e scrivere in due file distinti i maschi in ordine crescente di voto e le femmine in ordine decrescente.Pillola rossa o pillola blu ????

La risposta è dentro te.
Commenta
-
-
ma al di la di questo, quando i dati da ordinare sono pochi (tipo gli studenti di una classe) l'algoritmo usato incide per nulla o quasi...almeno credoOriginariamente Scritto da Tristan Visualizza Messaggioanche perchè il s.sort ha complessità O(n^2)
Commenta
-
-
posso usare solo il selection sort perchè al momento solo quello abbiamo fattoOriginariamente Scritto da laplace Visualizza Messaggioma al di la di questo, quando i dati da ordinare sono pochi (tipo gli studenti di una classe) l'algoritmo usato incide per nulla o quasi...almeno credo
Pillola rossa o pillola blu ????

La risposta è dentro te.
Commenta
-
-
la correzione che ti avevo fatto?Originariamente Scritto da Sam Fisher Visualizza Messaggiocmq ho provato il file cm da me scritto e devo dire che funziona.
Adesso devo fare altre parte del programma.
Devo individuare e contare i maschi (le femmine saranno date da i(conta gli elementi presenti nel file)-M e scrivere in due file distinti i maschi in ordine crescente di voto e le femmine in ordine decrescente.
oppure ti funzionava normale?
il problema successivo vien da se..
mo ti scrivo due possibile scelte



Commenta
-
-
certamente...uno vale l'altro per n piccoloOriginariamente Scritto da laplace Visualizza Messaggioma al di la di questo, quando i dati da ordinare sono pochi (tipo gli studenti di una classe) l'algoritmo usato incide per nulla o quasi...almeno credo



Commenta
-
-
il listato che ho postato io in seconda pagina andava bene .Originariamente Scritto da Tristan Visualizza Messaggiola correzione che ti avevo fatto?
oppure ti funzionava normale?
il problema successivo vien da se..
mo ti scrivo due possibile sceltePillola rossa o pillola blu ????

La risposta è dentro te.
Commenta
-
-
sam
puoi procedere cosi:
- quando scorri la lista per ordinare gli elementi (il primo ciclo) aggiungi un controllo del tipo
if (studente.sesso = "maschio")
Maschi[cont] = B[i];
else
Femmine[cont2] = B[i]
poi quando dovrai ordinarli passerai al metodo ordina questi due array e via
pero..tu non sai a priori quant'è il numero di studenti maschi e femmine..
non mi ricordo, ci sono array dinamici in c? purtroppo ragiono troppo con la mentalità javista...



Commenta
-
-
no array dinamici no però so a priori il numero di studenti presenti che cmq deve essere inferiore a 20 perchè classe [20] e poi se vedi la funzione di acquisizione c'è la variabile locale i che viene incrementata per ogni persona presente nel file.Originariamente Scritto da Tristan Visualizza Messaggiosam
puoi procedere cosi:
- quando scorri la lista per ordinare gli elementi (il primo ciclo) aggiungi un controllo del tipo
if (studente.sesso = "maschio")
Maschi[cont] = B[i];
else
Femmine[cont2] = B[i]
poi quando dovrai ordinarli passerai al metodo ordina questi due array e via
pero..tu non sai a priori quant'è il numero di studenti maschi e femmine..
non mi ricordo, c'erano array dinamici in c?
Ed essendo la funzione acquisisci di tipo int mi restituisce i localmente che poi coincide cn N numero di studenti nel main.Pillola rossa o pillola blu ????

La risposta è dentro te.
Commenta
-
-
allora appostoOriginariamente Scritto da Sam Fisher Visualizza Messaggiono array dinamici no però so a priori il numero di studenti presenti che cmq deve essere inferiore a 20 perchè classe [20] e poi se vedi la funzione di acquisizione c'è la variabile locale i che viene incrementata per ogni persona presente nel file.
Ed essendo la funzione acquisisci di tipo int mi restituisce i localmente che poi coincide cn N numero di studenti nel main.
dobbiamo trovarci il numero di maschi tramite un count che si aggiorna ogni volta (puoi anche riscorrere tutto il file a fare il controllo se son maschi o meno, ilprimo array sarà maschi[countmaschi], il secondo femmine[i-countmaschi])Last edited by Tristan; 30-12-2008, 14:34:26.



Commenta
-
-
per passare da ordinamento crescente a decrescente puoi definire una nuova funzione nella quale scambi i segni > e <, oppure definisci un'unica funzione di questo tipo
ordina (...., type)
{
if( type == 'c' ) //metti tutto il codice con il segno <
if( type == 'd' ) //metti tutto il codice con il segno >
}
e poi chiami a seconda dei casi ordina(...'c') e ordina(...'d')
Commenta
-
Commenta