Programmazione C

di il
51 risposte

51 Risposte - Pagina 4

  • Re: Programmazione C

    Sì, quello a bolle prevede un solo for e un while per controllare quando ripetere la for. Ma questo va bene lo stesso, certamente non con 3 indici.
  • Re: Programmazione C

    E qual è la condizione di uscita dal while?
  • Re: Programmazione C

    Cosi forse è più carino:
    for(k=0; k<DIM; k++){
    		for(i=0; (i+1)<DIM; i++)
    			if(v[i]>v[i+1]){
    				sup=v[i];
    				v[i] = v[i+1];
    				v[i+1] = sup;
    			}
    	}
  • Re: Programmazione C

    enricoscarsissimo ha scritto:


    E qual è la condizione di uscita dal while?
    Il fatto che non è avvenuto lo scambio
  • Re: Programmazione C

    enricoscarsissimo ha scritto:


    Cosi forse è più carino:
    for(k=0; k<DIM; k++){
    		for(i=0; (i+1)<DIM; i++)
    			if(v[i]>v[i+1]){
    				sup=v[i];
    				v[i] = v[i+1];
    				v[i+1] = sup;
    			}
    	}

    Sicuro?
  • Re: Programmazione C

    Lol certo che no
  • Re: Programmazione C

    A parte il fatto che è più comodo scrivere

    i<DIM-1

    il fatto è che la prima for non è necessaria (e farebbe perdere un bel po' di tempo).
    Al suo posto usa una while che ripeta la for SOLO se è stato effettuato almeno uno scambio.
Devi accedere o registrarti per scrivere nel forum
51 risposte