Programmazione C

di il
51 risposte

51 Risposte - Pagina 3

  • Re: Programmazione C

    oregon ha scritto:


    Gastaldo, ti avevo detto di controllare i ; proprio per togliere quel ; alla fine del for ma non hai controllato affatto. Leggi con attenzione le risposte che ti vengono date.
    Si,ma non so come fare perchè se tolgo i j=i+1 non me lo fa fare,non so come correggere la funzione ordine decrescente
  • Re: Programmazione C

    void ordine_decrescente(int v[]) {
    	int tmp;
    	int i;
    	for (int i = 0; i < DIM - 1; i++){
    		for (int j = i + 1; j < DIM; j++)
    			if (v[i] > v[j]) {
    				tmp = v[i];
    				v[i] = v[j];
    				v[j] = tmp;
    			}
    	}
    	return;
    }
    Questo è il codice corretto dagli errori sintattici, non ho provato e non mi sono neanche interessato a capire cosa faccia, se non funziona ci devono essere degli errori concettuali nella tua idea
  • Re: Programmazione C

    E chi ti ha detto di togliere i ???

    Ho detto di controllare i ; ovvero di controllare i punti e virgola !

    P.S. Ma segui un corso o no?
  • Re: Programmazione C

    oregon ha scritto:


    E chi ti ha detto di togliere i ???

    Ho detto di controllare i ; ovvero di controllare i punti e virgola !

    P.S. Ma segui un corso o no?
    Si, siamo arrivati all’ordinamento a bolla,ho controllato i non è un errore di sintassi,per favore mi potresti dire come correggere l’ordine decrescente?
  • Re: Programmazione C

    Gastaldo ha scritto:


    Si, siamo arrivati all’ordinamento a bolla
    Ordinamento a "bolle". E ci sei arrivato grazie al codice pronto fornito dopo che ti erano stati dati tutti i suggerimenti.
    ho controllato i non è un errore di sintassi,per favore mi potresti dire come correggere l’ordine decrescente?
    Perché chiedi di correggere? Cosa succede durante l'esecuzione?
  • Re: Programmazione C

    oregon ha scritto:


    [quote=Gastaldo post_id=8619502 time=<a href="tel:1549812677">1549812677</a> user_id=25653]
    Si, siamo arrivati all’ordinamento a bolla
    Ordinamento a "bolle". E ci sei arrivato grazie al codice pronto fornito dopo che ti erano stati dati tutti i suggerimenti.
    ho controllato i non è un errore di sintassi,per favore mi potresti dire come correggere l’ordine decrescente?
    Perché chiedi di correggere? Cosa succede durante l'esecuzione?
    [/quote]
    Non me la fa fare dice i non inizializzata,è strano perché quando l’errore era su stampa non mi spuntava l’errore su i
  • Re: Programmazione C

    Quando hai un errore devi mostrare sempre

    1) tutto il codice che stai utilizzando

    2) la linea in cui avviene l'errore

    Ma hai utlizzato il codice che ti ha dato enrico o no? Mi sembra assurdo ...
  • Re: Programmazione C

    oregon ha scritto:


    Quando hai un errore devi mostrare sempre

    1) tutto il codice che stai utilizzando

    2) la linea in cui avviene l'errore

    Ma hai utlizzato il codice che ti ha dato enrico o no? Mi sembra assurdo ...
    Si,ma non funziona
  • Re: Programmazione C

    Allora ho guardato cos'è l'ordinamento a bolla, ti do dei suggerimenti.
    1) devi ad ogni ciclo confrontare i due elementi tra loro successivi, ciò significa che all'interno dello stesso ciclo dovrai incrementare i due indici i e j
    2) una volta finito questo ciclo hai la certezza che l'elemento più grande è in fondo al vettore, per avere la certezza di averlo ordinato completamente avrai bisogno di ripetere il ciclo precedente esattamente n volte, con n numero di elementi del vettore.
    Quindi in soldoni: 2 cicli concatenati, quello più interno con due indici i e j, quello più esterno con un terzo indice.
  • Re: Programmazione C

    enricoscarsissimo ha scritto:


    Allora ho guardato cos'è l'ordinamento a bolla, ti do dei suggerimenti.
    1) devi ad ogni ciclo confrontare i due elementi tra loro successivi, ciò significa che all'interno dello stesso ciclo dovrai incrementare i due indici i e j
    2) una volta finito questo ciclo hai la certezza che l'elemento più grande è in fondo al vettore, per avere la certezza di averlo ordinato completamente avrai bisogno di ripetere il ciclo precedente esattamente n volte, con n numero di elementi del vettore.
    Quindi in soldoni: 2 cicli concatenati, quello più interno con due indici i e j, quello più esterno con un terzo indice.
    Quindi del mio codice non ho capito cosa io ho messo due for con l’incremento di I e j mi potresti scrivere come codice cosa dovrei scrivere
  • Re: Programmazione C

    Gastaldo ha scritto:


    oregon ha scritto:


    Quando hai un errore devi mostrare sempre

    1) tutto il codice che stai utilizzando

    2) la linea in cui avviene l'errore

    Ma hai utlizzato il codice che ti ha dato enrico o no? Mi sembra assurdo ...
    Si,ma non funziona
    Gastaldo ... è vero che è domenica ma vuoi far perdere tempo? Ho scritto di mostrare il codice e la linea e tu non fai nulla?
  • Re: Programmazione C

    Comunque basta che nella for

    for (int i ...

    togli la int

    for (i ...

    Ma potevi fare da solo ...
  • Re: Programmazione C

    for(k=0; k<5; k++){
    		for(i=0,j=i+1; j<5; i++,j++)
    			if(v[i]>v[j]){
    				sup=v[i];
    				v[i] = v[j];
    				v[j] = sup;
    			}
    	}
  • Re: Programmazione C

    Perché 3 indici?
    
    for(i=0; i<DIM-1; i++)
       for(j=i+1; j<DIM; j++)
           if(v[i] < v[j]) {
               tmp = v[i];
               v[i] = v[j];
               v[j] = tmp;	
          }
    
  • Re: Programmazione C

    Ovviamente il tuo è corretto ma non è propriamente a bolla (se con "a bolla" intendiamo confrontare solo gli elementi tra loro successivi)
Devi accedere o registrarti per scrivere nel forum
51 risposte