AIUTO SUL C (funzioni e bublesort)

di il
26 risposte

26 Risposte - Pagina 2

  • Re: AIUTO SUL C (funzioni e bublesort)

    Uno switch? Ma per fare cosa?
  • Re: AIUTO SUL C (funzioni e bublesort)

    Anche questo mi sembra un po' fuori bersaglio:
    void swap(int x,int y){
       int appoggio;
       appoggio=y;
       x=y;
       appoggio=x;
    }
  • Re: AIUTO SUL C (funzioni e bublesort)

    AldoBaldo ha scritto:


    Anche questo mi sembra un po' fuori bersaglio:
    void swap(int x,int y){
       int appoggio;
       appoggio=y;
       x=y;
       appoggio=x;
    }
    In che senso a me il programma funziona correttamente
  • Re: AIUTO SUL C (funzioni e bublesort)

    Non può funzionare ...
  • Re: AIUTO SUL C (funzioni e bublesort)

    Ci sono due problemi:
    1) questo pezzo di codice non scambia x con y, ma semplicemente scrive y su x
       int appoggio;
       appoggio=y;
       x=y;
       appoggio=x;
    Prendi fisicamente 3 cartoni di scarpe e ci scrivi sopra "appoggio", "x" e "y" e prendi due cartoncini su cui scrivi due valori plausibili, es. "42" e "48"; metti questi due cartoncini uno dentro "x" e l'altro dentro "y" e prova a scambiarli senza mai metterne due nello stesso cartone.

    2) il secondo problema è che se anche il punto 1 funzionasse, la modifica rimarrebbe all'interno della funzione; per ottenere la modifica anche fuori devi passare i due elementi tramite puntatore, quindi il prototipo della funzione deve essere
    void swap(int *x,int *y);
    Se non hai affrontato/studiato questo argomento la cosa ti sembrerà incredibile: se è così, lascia stare la funzione ed esegui lo swap direttamente nel punto in cui serve
  • Re: AIUTO SUL C (funzioni e bublesort)

    candaluar ha scritto:


    Ci sono due problemi:
    1) questo pezzo di codice non scambia x con y, ma semplicemente scrive y su x
       int appoggio;
       appoggio=y;
       x=y;
       appoggio=x;
    Prendi fisicamente 3 cartoni di scarpe e ci scrivi sopra "appoggio", "x" e "y" e prendi due cartoncini su cui scrivi due valori plausibili, es. "42" e "48"; metti questi due cartoncini uno dentro "x" e l'altro dentro "y" e prova a scambiarli senza mai metterne due nello stesso cartone.

    2) il secondo problema è che se anche il punto 1 funzionasse, la modifica rimarrebbe all'interno della funzione; per ottenere la modifica anche fuori devi passare i due elementi tramite puntatore, quindi il prototipo della funzione deve essere
    void swap(int *x,int *y);
    Se non hai affrontato/studiato questo argomento la cosa ti sembrerà incredibile: se è così, lascia stare la funzione ed esegui lo swap direttamente nel punto in cui serve
    Scusami potresti riscrivermi tutto il codice in modo che funzioni oppure basta che sostituisco l'ultima cosa che mi hai detto?
  • Re: AIUTO SUL C (funzioni e bublesort)

    @Alex ... qui NON SI SCRIVE O RISCRIVE codice al posto tuo. La PAPPA PRONTA è vietata. Se vieni nel forum con queste intenzioni è bene che tu lo sappia. Sono richieste MOLTO FASTIDIOSE.

    Impegnati e studia in base ai suggerimenti, oppure chiedi al tuo professore. Se non sai cosa sia

    int *x

    allora è assolutamente inutile fornirti codice che non capirai.
  • Re: AIUTO SUL C (funzioni e bublesort)

    @JustAlex: ti suggerisco davvero di prendere 3 scatole di scarpe e provare il procedimento, come ti ho spiegato: è un qualcosa di basilare, indipendente dal linguaggio che stai usando. Come ti ha spiegato bene Oregon, fornirti la soluzione sarebbe completamente inutile.
    Se non sai come modificare gli argomenti di una funzione (punto 2 della mia spiegazione) allora non scrivere la funzione swap(), eliminala, e procedi allo swap direttamente nella funzione bubbleSort() utilizzando direttamente v e v[j].
    Comunque ripeto ancora: prima di tutto devi essere in grado di descrivere la "procedura" di swap simulandola con 3 scatole di scarpe.
  • Re: AIUTO SUL C (funzioni e bublesort)

    oregon ha scritto:


    @Alex ... qui NON SI SCRIVE O RISCRIVE codice al posto tuo. La PAPPA PRONTA è vietata. Se vieni nel forum con queste intenzioni è bene che tu lo sappia. Sono richieste MOLTO FASTIDIOSE.

    Impegnati e studia in base ai suggerimenti, oppure chiedi al tuo professore. Se non sai cosa sia

    int *x

    allora è assolutamente inutile fornirti codice che non capirai.
    Allora io non è che voglio la pappa pronta , che avevo iniziato questo esercizio poi il mio prof mi ha inserito lo swap e mi ha detto cerca un po' tu il metodo per continuare , io non avendolo mai utilizzato ho bisogno di una mano
  • Re: AIUTO SUL C (funzioni e bublesort)

    Questi casi sono frequentissimi ... è sempre colpa del professore.

    1) se non hai mai fatto queste cose e davvero non puoi risolvere da solo, dillo al professore, non fartelo fare su un forum da altri (per poi dire che l'hai fatto tu ...)

    2) se, invece, hai avuto dal professore tutto quello che ti serve per risolvere, prova a farlo (studiando e spremendoti le meningi, cosa che fino ad ora non hai fatto)

    Ancora non hai risposto a @candaluar e sembra che tu non abbia intenzione di farlo, né di impegnarti ... attendi la soluzione dal cielo ...
  • Re: AIUTO SUL C (funzioni e bublesort)

    oregon ha scritto:


    Questi casi sono frequentissimi ... è sempre colpa del professore.

    1) se non hai mai fatto queste cose e davvero non puoi risolvere da solo, dillo al professore, non fartelo fare su un forum da altri (per poi dire che l'hai fatto tu ...)

    2) se, invece, hai avuto dal professore tutto quello che ti serve per risolvere, prova a farlo (studiando e spremendoti le meningi, cosa che fino ad ora non hai fatto)

    Ancora non hai risposto a @candaluar e sembra che tu non abbia intenzione di farlo, né di impegnarti ... attendi la soluzione dal cielo ...
    Semplicemente ho parlato con il mio professore e mi ha aiutato lui fine.
  • Re: AIUTO SUL C (funzioni e bublesort)

    Ottimo.
Devi accedere o registrarti per scrivere nel forum
26 risposte