Visualizzazione dei risultati da 1 a 5 su 5

Discussione: una domanda sul c++

  1. #1

    una domanda sul c++

    qualcuno mi saprebbe dire come:
    dato un array A[N], trovare l'elemento più frequente. grazie.

  2. #2
    cicli gli elementi e vedi quello che capita + volte
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    vorrei sapere il codice che devo scrivere nel compilatore

  4. #4
    Fossi in te farei prima di tutto un bel sort dell'array, e poi ti conti quante volte compare ogni valore...

    Per contare:

    tipo Ris[N*2];
    int j=0;

    for(int i=0;i<N;i++)
    {
    if(Ris[j]==VettOrd[i];
    Ris[j+1]++;
    else
    {
    j+=2;
    Ris[j+1]=0;
    Ris[j]=VettOrd[i];
    }
    }



    A questo punto nel vettore Ris[] hai il valore affiancato dal numero di occorrenze (posizione pari il valore, posizione dispari il numero di occorrenze). Per sapere quanti valori diversi ci sono nel vettore basta che dividi j per 2;
    Spero di essere stato chiaro (dubito...nn sono neanche sicuro che la soluzione sia giusta, ma lo buttata giù in due secondi...probabilmente si potrebbe migliorare)

  5. #5
    Su un array ordinato mi viene in mente una soluzione "stravagante"..

    Facciamo conto:

    codice:
    int array[] = { 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5 };
    Il primo 1 ha indice 0;
    Il primo 2 ha indice 3;
    Il primo 3 ha indice 4;
    Il primo 4 ha indice 6;
    Il primo 5 ha indice 10.

    3 - 0 = frequenza di 1;
    4 - 3 = frequenza di 2;
    6 - 4 = frequenza di 3;
    10 - 6 = frequenza di 5.

    E` un po` palloso e al momento non ho molta voglia di scrivere codice, quindi vedi un po`. Tanto e` semplicissimo.

    Ciao.

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.