Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C] riordinare array

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    103

    [C] riordinare array

    perchè questo codice non mi funziona con il c ma lo stesso procedimento funziona con js?
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
      int n[]={22,3,4,5,6,7,11};
      int i,temp;  
                for(i=0;i<=6;i++){
                      
                     
                      
                      if(n[i]>n[i+1]){
                                      
                                      temp = n[i];
                                      n[i] = n[i+1];
                                      n[i+1] = temp;
                                      i=-1;
                                      
                                      }
                               }
      printf("%d,", n);
      
      system("PAUSE");    
      return 0;
    }
    Ultima modifica di MItaly; 18-10-2013 a 03:11 Motivo: Aggiunti tag CODE

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Anche se è molto fantasioso funziona comunque. Su cosa non ti trovi?
    Il problema forse è con la tua printf che ti mostra un valore sballato perchè tu gli chiedi n che è un array e non gli metti neanche l'indice e ti stampa l'indirizzo dell'array n.
    Invece del printf mettici un ciclo for che scorre e mostra gli array e vedi che tutto funziona

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    103
    Quote Originariamente inviata da Eduadie Visualizza il messaggio
    Anche se è molto fantasioso funziona comunque. Su cosa non ti trovi?
    Il problema forse è con la tua printf che ti mostra un valore sballato perchè tu gli chiedi n che è un array e non gli metti neanche l'indice e ti stampa l'indirizzo dell'array n.
    Invece del printf mettici un ciclo for che scorre e mostra gli array e vedi che tutto funziona
    grazie per la risposta. Cosa intendi per fantasioso? xD

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    Ciao,
    a occhio non funziona... hai provato un un input del tipo:
    codice:
      int n[]={22,3,44,55,6,7,11};
    ?

    Credo che l'appellativo fantasioso se lo sia guadagnata la modifica alla variabile i all'interno del ciclo for.
    Di norma non è considerata una cosa "pulita" modificare l'indice di un for anche all'interno del for stesso.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Uno dei motivi :P
    Comunque no fantasioso anche perchè se cerchi in internet esistono algoritmi già efficienti per l'ordinamento di un array che sono molto più affidabili e facili da implementare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.