Ciao Kain88, un benvenuto su Wikipedia, l'enciclopedia a contenuto libero!

Per iniziare la tua collaborazione, ricorda quali sono i cinque pilastri di Wikipedia, dai un'occhiata alla guida essenziale o alla pagina di aiuto e soprattutto impara cosa mettere e cosa non mettere su Wikipedia. Ricorda che:

  • non è consentito inserire materiale protetto da copyright. Se desideri inserire un tuo testo già pubblicato altrove, inviaci prima una comunicazione nel modo indicato qui. Se invece desideri caricare un'immagine leggi prima la pagina Wikipedia:Copyright immagini.
  • le voci devono essere in lingua italiana e rispettare un punto di vista neutrale.

Per qualsiasi problema puoi chiedere: allo sportello Informazioni, a un amministratore, in chat wikipedia-it o a un qualsiasi utente che vedi collegato consultando le ultime modifiche.

Per firmare i tuoi commenti (non le voci) usa il tasto indicato
Per firmare i tuoi commenti (non le voci) usa il tasto indicato

Per firmare i tuoi interventi nelle pagine di discussione usa il tasto che vedi indicato nell'immagine a destra e consulta la pagina Aiuto:Uso della firma.

Buon lavoro e buon divertimento da parte di tutti i wikipediani!


Naturalmente un benvenuto anche da parte mia! Se avessi bisogno di qualcosa non esitare a contattarmi. Loroli...vieni, vedi, dici 18:12, 3 feb 2009 (CET)Rispondi

Gentile Kain88,

al prossimo contributo contrario alle linee guida di Wikipedia scatterà un blocco in scrittura sulla tua utenza, pertanto questo è l'ultimo invito a collaborare in modo costruttivo.

Per favore, rispetta il lavoro altrui: segui le regole e usa il buon senso.

Utonto 22:03, 29 mar 2009 (CEST)Rispondi

Quicksort modifica

Ho l'impressione che non ci stiamo capendo:

  1. la voce riguarda il quicksort, quindi ha senso scrivere un esempio di implementazione della funzione di quicksort. Il resto del programma attorno è del tutto irrilevante.
  2. se proprio vogliamo metterci anche il programma attorno, mi permetto di osservare che:
    • la funzione "main" ritorna un int; lasciarlo implicito è sintassi C deprecata che non è il caso di portare ad esempio;
    • la funzione "main", anche se non lo scrivi, ritorna un int. Non v'è traccia di una "return" alla fine di tale funzione;
    • i programmi "PAUSE" e "CLS" non sono parte del linguaggio C e non sono portabili (come non lo è, in generale, un qualsivoglia ricorso alla funzione "system"). Chiunque compili ed esegua quel programma in ambiente diverso da un sistema windows va incontro ad un errore di runtime, peraltro non gestito. Da un codice che ha la pretesa di essere didattico ci si aspetta crismi minimi di portabilità e correttezza
  3. a proposito di correttezza, ti consiglio di fare questi rapidi esperimenti:
    • quando il programma ti chiede il numero degli elementi rispondi "s" -> molto probabile segmentation fault (hint: non è detto che una scanf abbia sempre successo)
    • quando il programma ti chiede se vuoi numeri casuali rispondi "s_equalcosadiabbastanzalungo" -> segmentation fault (hint: "%s" è per le stringhe, non per i caratteri)

Infine non è per nulla serio proporre un codice che preveda un messaggio d'errore che invita l'utente a fare il serio. Quindi adesso ti invito io, per cortesia, a smettere di essere faceto ed evitare di riproporre codice inadeguato in termini di stile, correttezza ed opportunità: come già fatto presente qui sopra da un altro utente, una nuova immotivata riproposizione di quel codice sarà considerata, a tutti i fini pratici, un vandalismo. -- Rojelio (dimmi tutto) 19:40, 30 mar 2009 (CEST)Rispondi

Dimenticavo un dettaglio: nel tuo codice la funzione quicksort riceve un secondo parametro "n" che poi non usa (né ha motivo alcuno di usarlo: dati gli estremi sinistro e destro del range da ordinare, il numero complessivo degli elementi è del tutto irrilevante).

Risposta : al def. voglio dirti che il mio codice seppur ha questi piccolissimi bug che sei andato a cercare come piccolissimi aghi nel pagliaio sicuramente è più efficiente di quello che incolli tu che da chi sà quale africano è stato fatto. Ci tengo a precisare che l'utente dovrebbe essere un deficiente per digitare "s_equalcosadiabbastanzalungo". Visto che sei tanto bravo a trovare gli aghi nel pagliao trovameli altri tanto la funzione come lo fatta io in 11 righe di codici te la sogni. Impara a programmare...

Oddio, a voler fare gli schizzinosi ci sarebbe il dettaglio che quella non è un'implementazione mista iterativo-ricorsiva bensì una ricorsiva pura, che richiama sé stessa sia per la partizione sinistra che per quella destra: in quanto tale non ha alcuno scopo nella sezione intitolata "Quicksort misto ricorsivo-iterativo". L'implementazione di riferimento in pseudo-codice per un algoritmo puramente ricorsivo è rintracciabile nella sezione "Specifica dell'algoritmo", cui il tuo codice nulla aggiunge essendone traduzione sostanzialmente pedissequa.
Visto comunque che me lo chiedi, ecco un altro aghetto: avevi tolto "n" dai parametri della funzione, ma avevi tralasciato di eliminarlo dalle due successive chiamate ricorsive... la "funzione come l'hai fatta tu in 11 righe" non compila, desolato.
"Ci tengo a precisare" (cit.) che quelli che tu chiami "aghi nel pagliaio" nella mia professione si chiamano "errori di programmazione". Supporre che gli input dell'utente saranno sempre corretti è l'antitesi dei principi di base della produzione di software (v. en:Software testing#Non Functional Software Testing).
Ricevere una stringa in un char e "sperare" che l'utente non si inventi nulla di buffo, invece, rientra nella categoria delle "potenziali vulnerabilità di sicurezza": non è necessario che io sia deficiente, per scrivere qualcosa di diverso da "s", basta che mi venga voglia di inoculare codice arbitrario nel tuo programma per fargli fare quello voglio io. Qualora dovessi provare il desiderio di approfondire, per i dettagli ti rimando a en:Stack buffer overflow#Exploiting stack buffer overflows e en:Code injection.

Senti te lo dico per l'ultima volta. Il mio quicksort DA ME CREATO frutto di tante fin troppe ricerche per semplificarlo in quel modo voglio che sia visibile a tutti, visto che tu metti un codice che non funziona e non compila visto che da una serie di errori che non sto qui a descrivertili, ti voglio ricordare che quelle cose che hai linkato non servono a niente per il mio programma, quei bug te li posso correggere in un secondo, e poi il fatto che stiamo discutendo è la funzione quicksort e non il main. Una cosa voglio dirti per favore metti un codice che sia tuo, visto che si vede a occhio nudo che non lo hai fatto tu, sei solo uno che copia e incolla e si finge programmatore scroccone...


Ossequi. -- Rojelio (dimmi tutto) 01:57, 31 mar 2009 (CEST)Rispondi

puoi approfittarne per imparare l'educazione.

Di certo non sei tu a dirmi di imparare l'educazione, guarda ti voglio dare un consiglio nella vita c'è sempre qualcuno meglio di te, invece di ostinarti a mettere quel stupido algoritmo che d'altronde non è nemmeno fatto da te, rassegnati alla perfezione della mia funzione, l'unica cosa che hai saputo fare di buono e quello di bannarmi per 1 settimana dovuta al fatto che sei un admin buono a nulla impara a programmare smanettatore di pc


--Brownout(msg) 17:48, 10 apr 2009 (CEST)Rispondi