[Pillola] Esercizi per 'Skillare'

  • Ifrit_Prog
  • Autore della discussione
  • Premium Utente
  • Premium Utente
Di più
11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #1 da Ifrit_Prog
[Pillola] Esercizi per 'Skillare' è stato creato da Ifrit_Prog
Durante la mia inutile carriera, ho dato ripetizioni di C e C++ a molte persone, e una delle cose che mi mancava durante le spiegazioni era una lista di esercizi base che davano un background di algoritmi allo studente.

Da un po' ho pensato di scrivere una lista e aggiornarla ogni volta che noto una lacuna nelle persone che si avvicinano al Problem Solving.

Oggi, pensando ai vari forum che bazzico (oltre al magone di non avere un sito mio per pigrizia e poca voglia di convincere altri admin a unirsi a me), ho pensato di postare qui tale lista, in modo che io possa tenere un punto di riferimento online, e magari dare una mano a chi capita qui =)


Se avete idee, suggerimenti, richieste, dubbi, etc etc.... non esitate a chiedere ^^

Ah sia ben chiaro, questa lista è in continuo aggiornamento, e affianco ai quesiti ci mettero' le mie proposte per la soluzione, e sottolineo Proposte, perche' (se un giorno scrivero' la pillola di riferimento) per risolvere un algoritmo esistono infiniti modi, piu' o meno validi, piu' o meno efficiaci in varie situazioni.



  1. Scrivere una funzione che generi un array di tipo intero, allocato nella memoria heap, di dimensione 5, e ritorni l'indirizzo in testa a esso associato.
    Soluzione Proposta

  2. Scrivere una funzione che generi un array di tipo intero, allocato nella memoria heap, di dimensione pari al valore contenuto in una variabile passatagli come argomento. si chiede in oltre di ritornare l'indirizzo in testa all'array creato.
    Soluzione Proposta


  3. Scrivere una funzione che, dato un array di tipo intero come primo argomento, e come secondo argomento un intero che indichi la sua dimensione, azzeri tutti i campi dell'array.
    Soluzione Proposta

  4. Scrivere una funzione identica all'esercizio precedente, con la differenza che azzeri tutti i campi eccetto l'ultimo.
    Soluzione Proposta

  5. Scrivere una funzione complementare a quella dell'esercizio precedente, ovvero che azzeri solo l'ultimo elemento.
    Soluzione Proposta

  6. Scrivere una funzione che, dato un array di tipo intero come primo argomento, e come secondo argomento un intero che indichi la sua dimensione, ritorni la somma di tutti i valori contenuti nell'array.
    Soluzione Proposta

  7. Scrivere una funzione che, dato un array di tipo intero come primo argomento, e come secondo argomento un intero che indichi la sua dimensione, ritorni il prodotto ri tutti i valori conetuti nell'array.
    Soluzione Proposta


[hr]
Algoritmi di Ordinamento
  • Impementa l'algoritmo di Selection sort su un array di interi sfruttando l'effetto collaterale.
    Soluzione Proposta

  • Impementa l'algoritmo di Bubble Sort su un array di interi sfruttando l'effetto collaterale.
    Soluzione Proposta

  • Impementa l'algoritmo di Gnome Sort su un array di interi sfruttando l'effetto collaterale.
    Soluzione Proposta
Ultima Modifica 11 Anni 7 Mesi fa da Ifrit_Prog.

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • pier
  • Anziano Utente
  • Anziano Utente
Di più
11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #2 da pier
Risposta da pier al topic [Pillola] Esercizi per 'Skillare'
Non li ho guardati tutti (gli esempi), ma buona l'idea e ben fatto!! fanno sempre comodo..

Ecco, una cosa che non ho mai capito è il cast prima della malloc... Se non sbaglio si mette però non è necessario, ma allora perchè?
Dal libro che ho sottomano (il linguaggio C, di Ritchie) sembra che fosse necessario prima dell'avvento dello standard ansi, ma poi non più. Sarà per tradizione allora?


edit: posso aggiunge anch'io qualche esempio se mi viene in mente qualcosa di interessante? :cheer: ;)
Ultima Modifica 11 Anni 7 Mesi fa da pier.

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
11 Anni 7 Mesi fa #3 da Mauro Laurenti
Risposta da Mauro Laurenti al topic [Pillola] Esercizi per 'Skillare'
Vedo con piacere che stai portando avanti l'idea delle pillole.
Questi esercizi mi stanno facendo tornare al periodo universitario...
...quando preparavo l'esame di Informatica II...

Ottima raccolta di esempi e soluzioni.

Saluti,

Mauro

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Ifrit_Prog
  • Autore della discussione
  • Premium Utente
  • Premium Utente
Di più
11 Anni 7 Mesi fa #4 da Ifrit_Prog
Risposta da Ifrit_Prog al topic [Pillola] Esercizi per 'Skillare'

pier ha scritto: Non li ho guardati tutti (gli esempi), ma buona l'idea e ben fatto!! fanno sempre comodo..

Ecco, una cosa che non ho mai capito è il cast prima della malloc... Se non sbaglio si mette però non è necessario, ma allora perchè?
Dal libro che ho sottomano (il linguaggio C, di Ritchie) sembra che fosse necessario prima dell'avvento dello standard ansi, ma poi non più. Sarà per tradizione allora?


edit: posso aggiunge anch'io qualche esempio se mi viene in mente qualcosa di interessante? :cheer: ;)



il cast della malloc è dovuto per dare un'aritmetica al puntatore in ritorno, ovvero siccome malloc ritorna un tipo void*, per far si che la memoria puntata sia trattata nel modo adeguato (dimensione di lettura/scrittura, accesso alle proprietà nel caso di strutture, incremento di locazione, etc etc) si fa il cast al dato che, appunto, vuoi usare.

Il fatto che questo cast viene fatto in automatico da alcuni compilatori (la cosa non la so, non ci ho mai fatto caso, io il cast lo faccio sempre) secondo me è svantaggiosa, perche' puo' introdurre degli errori a livello logico di difficile individuazione.


per quanto riguarda gli esercizi... eh magari =P cosi ampliamo velocemente la lista ^^

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • StefA
  • Moderatore
  • Moderatore
Di più
11 Anni 7 Mesi fa #5 da StefA
Risposta da StefA al topic [Pillola] Esercizi per 'Skillare'
Ottimo lavoro.

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Forum - Ultimi messaggi