Originariamente Scritto da Tristan
Visualizza Messaggio
Programmatori di C a me
Collapse
X
-
Originariamente 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
-
-
Originariamente Scritto da Tristan Visualizza Messaggioportarsi dietro la struct è implicito
cmq io userei qsort e chi si è visto si è visto...
Commenta
-
-
Originariamente Scritto da laplace Visualizza Messaggioah si.
cmq io userei qsort e chi si è visto si è visto...
Commenta
-
-
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
-
-
Originariamente Scritto da Tristan Visualizza Messaggioanche perchè il s.sort ha complessità O(n^2)
Commenta
-
-
Originariamente 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 credoPillola rossa o pillola blu ????
La risposta è dentro te.
Commenta
-
-
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
-
-
Originariamente 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
-
-
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
-
-
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
-
-
Originariamente 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