[RISOLTO]Ordinare vettore di Struct?

di il
7 risposte

[RISOLTO]Ordinare vettore di Struct?

Salve, ho un problema con una traccia, ma non nella soluzione, ma proprio non ho capito cosa chiede .
In pratica dice : ordinare il vettore di struct per indice di riga e per media crescente. Cioè che risultati dovrei avere alla fine? (le due richieste vengono trattate separatamente, con due funzioni appunto). Ovviamente i valori di media , indici ecc.. vengono calcolati da una matrice inserita da tastiera

La mia struct è
struct elementi {
float media; // media di ogni riga
int indice_riga;
int numero_colonne;
float valori_riga[MAX]
};

7 Risposte

  • Re: [RISOLTO]Ordinare vettore di Struct?

    Sai fare un ordinamento, tipo bubblesort o simili? Se no informati: ci sono tanti thread a riguardo. Se si, la prima funzione ordina gli "indice_riga" in modo crescente, la seconda funzione ordina i "media" in ordine crescente. L'unica complicazione è che, quando fai gli scambi, devi scambiare le intere strutture invece che gli int o i float
  • Re: [RISOLTO]Ordinare vettore di Struct?

    Superconsiglio:

    per le prove non inserire da tastiera, non finisci più e rischi di falsare la prova scrivendo (anche per errore) valori via via differenti

    crea alcune strutture scritte hard-coded e usa quelle per le prove
  • Re: [RISOLTO]Ordinare vettore di Struct?

    Weierstrass ha scritto:


    Sai fare un ordinamento, tipo bubblesort o simili? Se no informati: ci sono tanti thread a riguardo. Se si, la prima funzione ordina gli "indice_riga" in modo crescente, la seconda funzione ordina i "media" in ordine crescente. L'unica complicazione è che, quando fai gli scambi, devi scambiare le intere strutture invece che gli int o i float
    Sisi, ma forse sono io a non aver capito, ma gli indici di riga (cioè 0 1 2, se ad esempio ho 3 righe), non sono già ordinati in ordine crescente ? Perchè da come ho fatto il problema io v[0].indice_riga stampa 0 ; v[1].indice_riga stampa 1 ; v[2].indice_riga stampa 2;
  • Re: [RISOLTO]Ordinare vettore di Struct?

    StandardOil ha scritto:


    Superconsiglio:

    per le prove non inserire da tastiera, non finisci più e rischi di falsare la prova scrivendo (anche per errore) valori via via differenti

    crea alcune strutture scritte hard-coded e usa quelle per le prove
    Solitamente leggo i valori da file di testo
  • Re: [RISOLTO]Ordinare vettore di Struct?

    Ok, fai come al solito, che va bene
  • Re: [RISOLTO]Ordinare vettore di Struct?

    Ultimo00 ha scritto:


    Weierstrass ha scritto:


    Sai fare un ordinamento, tipo bubblesort o simili? Se no informati: ci sono tanti thread a riguardo. Se si, la prima funzione ordina gli "indice_riga" in modo crescente, la seconda funzione ordina i "media" in ordine crescente. L'unica complicazione è che, quando fai gli scambi, devi scambiare le intere strutture invece che gli int o i float
    Sisi, ma forse sono io a non aver capito, ma gli indici di riga (cioè 0 1 2, se ad esempio ho 3 righe), non sono già ordinati in ordine crescente ? Perchè da come ho fatto il problema io v[0].indice_riga stampa 0 ; v[1].indice_riga stampa 1 ; v[2].indice_riga stampa 2;
    Eh beh che ti fa di male il best case?
    Probabilmente la seconda funzione serve appunto a farti tornare l'array di struct nella situazione di partenza dopo che hai usato la prima
  • Re: [RISOLTO]Ordinare vettore di Struct?

    Weierstrass ha scritto:


    Ultimo00 ha scritto:


    Weierstrass ha scritto:


    Sai fare un ordinamento, tipo bubblesort o simili? Se no informati: ci sono tanti thread a riguardo. Se si, la prima funzione ordina gli "indice_riga" in modo crescente, la seconda funzione ordina i "media" in ordine crescente. L'unica complicazione è che, quando fai gli scambi, devi scambiare le intere strutture invece che gli int o i float
    Sisi, ma forse sono io a non aver capito, ma gli indici di riga (cioè 0 1 2, se ad esempio ho 3 righe), non sono già ordinati in ordine crescente ? Perchè da come ho fatto il problema io v[0].indice_riga stampa 0 ; v[1].indice_riga stampa 1 ; v[2].indice_riga stampa 2;
    Eh beh che ti fa di male il best case?
    Probabilmente la seconda funzione serve appunto a farti tornare l'array di struct nella situazione di partenza dopo che hai usato la prima
    Ahh allora ok ,in effetti si, sempre meglio farlo. Graziee!!
Devi accedere o registrarti per scrivere nel forum
7 risposte