Programmatori di C a me

Collapse
X
 
  • Filter
  • Ora
  • Show
Clear All
new posts
  • laplace
    Bodyweb Advanced
    • Dec 2005
    • 7982
    • 960
    • 1,370
    • Send PM

    #31
    Originariamente Scritto da Tristan Visualizza Messaggio
    avoja..il c è la base di tutto..

    un'infinità di applicazioni sono sviluppate in c in c++

    cmq...tornando it

    sam, hai provato a fare qualche stampa di prova?riesci ad estrapolare i dati dalle struts contenute nel file?

    a naso, senza pensare ad ottimizzazioni delle prestazioni, farei cosi:
    - estrarrei le struct dal file e le metterei dentro un'array
    - scorrerei l'array per ordinarlo tramite il voto (nomestruct.voto)
    - lo ributti dentro al file ordinato sovrascrivendo quello che c'era prima
    se ho capito quello che dici, in questo modo scambi solo i voti degli sudenti...magari i piu somarelli sarebbero contenti

    Commenta

    • Tristan
      Papəete Beach
      • Oct 2007
      • 16642
      • 547
      • 588
      • AS Roma
      • Send PM

      #32
      *niente
      Last edited by Tristan; 30-12-2008, 14:12:54.

      Commenta

      • Tristan
        Papəete Beach
        • Oct 2007
        • 16642
        • 547
        • 588
        • AS Roma
        • Send PM

        #33
        Originariamente Scritto da laplace Visualizza Messaggio
        se ho capito quello che dici, in questo modo scambi solo i voti degli sudenti...magari i piu somarelli sarebbero contenti
        portarsi dietro la struct è implicito

        Commenta

        • laplace
          Bodyweb Advanced
          • Dec 2005
          • 7982
          • 960
          • 1,370
          • Send PM

          #34
          Originariamente Scritto da Tristan Visualizza Messaggio
          portarsi dietro la struct è implicito
          ah si.
          cmq io userei qsort e chi si è visto si è visto...

          Commenta

          • Tristan
            Papəete Beach
            • Oct 2007
            • 16642
            • 547
            • 588
            • AS Roma
            • Send PM

            #35
            Originariamente Scritto da laplace Visualizza Messaggio
            ah si.
            cmq io userei qsort e chi si è visto si è visto...
            anche perchè il s.sort ha complessità O(n^2)

            Commenta

            • Sam Fisher
              Bodyweb Advanced
              • Jan 2006
              • 4257
              • 576
              • 583
              • Ministero della Pubblica Istruzione
              • Send PM

              #36
              Originariamente Scritto da Tristan Visualizza Messaggio
              *niente
              cmq 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.
              Pillola rossa o pillola blu ????

              La risposta è dentro te.

              Commenta

              • laplace
                Bodyweb Advanced
                • Dec 2005
                • 7982
                • 960
                • 1,370
                • Send PM

                #37
                Originariamente Scritto da Tristan Visualizza Messaggio
                anche perchè il s.sort ha complessità O(n^2)
                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 credo

                Commenta

                • Sam Fisher
                  Bodyweb Advanced
                  • Jan 2006
                  • 4257
                  • 576
                  • 583
                  • Ministero della Pubblica Istruzione
                  • Send PM

                  #38
                  Originariamente Scritto da laplace Visualizza Messaggio
                  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 credo
                  posso usare solo il selection sort perchè al momento solo quello abbiamo fatto
                  Pillola rossa o pillola blu ????

                  La risposta è dentro te.

                  Commenta

                  • Tristan
                    Papəete Beach
                    • Oct 2007
                    • 16642
                    • 547
                    • 588
                    • AS Roma
                    • Send PM

                    #39
                    Originariamente Scritto da Sam Fisher Visualizza Messaggio
                    cmq 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.
                    la correzione che ti avevo fatto?

                    oppure ti funzionava normale?

                    il problema successivo vien da se..

                    mo ti scrivo due possibile scelte

                    Commenta

                    • Tristan
                      Papəete Beach
                      • Oct 2007
                      • 16642
                      • 547
                      • 588
                      • AS Roma
                      • Send PM

                      #40
                      Originariamente Scritto da laplace Visualizza Messaggio
                      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 credo
                      certamente...uno vale l'altro per n piccolo

                      Commenta

                      • Sam Fisher
                        Bodyweb Advanced
                        • Jan 2006
                        • 4257
                        • 576
                        • 583
                        • Ministero della Pubblica Istruzione
                        • Send PM

                        #41
                        Originariamente Scritto da Tristan Visualizza Messaggio
                        la correzione che ti avevo fatto?

                        oppure ti funzionava normale?

                        il problema successivo vien da se..

                        mo ti scrivo due possibile scelte
                        il listato che ho postato io in seconda pagina andava bene .
                        Pillola rossa o pillola blu ????

                        La risposta è dentro te.

                        Commenta

                        • Tristan
                          Papəete Beach
                          • Oct 2007
                          • 16642
                          • 547
                          • 588
                          • AS Roma
                          • Send PM

                          #42
                          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

                          • Sam Fisher
                            Bodyweb Advanced
                            • Jan 2006
                            • 4257
                            • 576
                            • 583
                            • Ministero della Pubblica Istruzione
                            • Send PM

                            #43
                            Originariamente Scritto da Tristan Visualizza Messaggio
                            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, c'erano array dinamici in c?
                            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.
                            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

                            • Tristan
                              Papəete Beach
                              • Oct 2007
                              • 16642
                              • 547
                              • 588
                              • AS Roma
                              • Send PM

                              #44
                              Originariamente Scritto da Sam Fisher Visualizza Messaggio
                              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.
                              Ed essendo la funzione acquisisci di tipo int mi restituisce i localmente che poi coincide cn N numero di studenti nel main.
                              allora apposto

                              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

                              • laplace
                                Bodyweb Advanced
                                • Dec 2005
                                • 7982
                                • 960
                                • 1,370
                                • Send PM

                                #45
                                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

                                Working...
                                X