Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [C] sfruttare gli indici in C

    Buongiorno a tutti, avrei bisogno di sapere come poter sfruttare gli indici di un array per poter usare nel mio programma, vi spiego meglio :

    int array_uno[10], array_due[10];

    supponiamo che in array_uno sia un array non ordinato dove sono dei memorizzati degli interi, e in array_due ci sono gli interi di array_uno però ordinati in modo decrescente.

    il mio ostacolo è che non riesco ad ordinare gli indici in modo che seguano i loro interi, spiego meglio supponiamo che sia una classifica non ordinata in array_uno e array_due questi risultati sono memorizzati in modo ordinato decrescente, come posso farsì che
    gli indici seguano i prorpi interi in modo da non assegnare quell'intero ad un altro indice ?

    spero di essere stato chiaro, vi ringrazio infinitamente per l'aiuto.

  2. #2
    Veramente, almeno io, non ho capito molto

    Se potessi fare un esempio concreto credo aiuterebbe
    lolide
    Java Programmer

    Informati

  3. #3
    questo è l'array uno non ordinato.

    array_uno[1] = 9

    array_uno[2] = 3

    array_uno[3] = 5

    array_uno[4] = 2


    questo è l'array ordinato

    array_due[1] = 9

    array_due[3] = 5

    array_due[2] = 3

    array_due[4] = 2

    in sintesi cambiano le posizioni degli array in base all'intero dell'indice, spero di essere stato chiaro. grazie infinitamente!.

  4. #4
    Originariamente inviato da bikerinside
    questo è l'array uno non ordinato.

    array_uno[1] = 9

    array_uno[2] = 3

    array_uno[3] = 5

    array_uno[4] = 2


    questo è l'array ordinato

    array_due[1] = 9

    array_due[3] = 5

    array_due[2] = 3

    array_due[4] = 2

    in sintesi cambiano le posizioni degli array in base all'intero dell'indice, spero di essere stato chiaro. grazie infinitamente!.
    Uhm ... intanto non succede proprio così.
    Cioè se tu ordini normalmente un array (controllando se l'array nella posizione dopo sia maggiore), non è che cambi l'indice, cambia il valore nell'array a quell'indice, quindi l'array ordinato risulterebbe così (l'indice parte da 0 non da 1):
    codice:
    array_due[0] = 2
    
    array_due[1] = 3
    
    array_due[2] = 5
    
    array_due[3] = 9
    lolide
    Java Programmer

    Informati

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    che io sappia non puoi cambiare la posizione degli indici a piacimento: se non ricordo male, un array in C occupa un'area di memoria contigua, di cui tu hai il puntatore al primo elemento. Per cui se vuoi arrivare al secondo elemento, o fai array[1] oppure

    array + n

    dove n indica la posizione di interesse.
    Capisci bene che in questo caso la modifica dell'indice non è possibile (verrebbe meno la gestione).
    questo è possibile farlo con una linked queue, in cui ogni elemento ha anhce il puntatore al successivo (quindi cambi solo il puntatore)

  6. #6
    grazie infinitamente, ora vi spiego cosa voglio fare, es :

    marco, paolo, mario.

    mario - 4

    paolo - 6

    marco - 1

    io voglio ordinare la classifica in modo decrescente in questo modo :

    paolo - 6

    mario - 4

    marco - 1

    come posso implementare questa cosa in C ?, non mi viene nulla di sensato

    grazie davvero, siete unici.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    è un ordinamento, quale è il contenuto dell'array? Una stringa (array di char)?
    Devi avere chiaro che gli array ha tutti gli elementi in sequenza, quindi ordinarli significa "scambiare" gli elementi, cioè mettere nell'elemento 0 l'elemento 10 ad esempio.
    Ci sono una marea di esempi di ordinamento in rete

  8. #8
    quindi in sintesi devo scambiare i nomi e i punteggi giusto ? e così ottengo la mia bella

    classifica ordinata in modo decrescente ?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    cosa contiene l'array? una stringa? una struct? cosa?
    il discorso non cambia, devi ordinare secondo i tuoi criteri, ma la logica di fondo non cambia in base al contenuto

  10. #10
    è una struct che contiene un array di puntatori e poi ogni campo ha il suo punteggio esempio

    squadra[0].nome_squadra = "italia";

    squadra[0].puteggio = 30;

    e così via...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.