Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    [c++] Gestire un vector con dentro due gruppi distinti di elementi...

    Ho questo vector COMPARA costituito da n elementi:

    COMPARA[0],COMPARA[1],COMPRA[2],COMPARA[3] <- PRIMO GRUPPO (quartina)
    COMPARA[4],COMPARA[5],COMPARA[6],COMPARA[7],COMPARA[8] <- SECONDO GRUPPO (1° estrazione)
    COMPARA[9],COMPARA[10],COMPARA[11],COMPARA[12],COMPARA[13] <- SECONDO GRUPPO (2° estrazione)
    ecc...
    fino a
    COMPARA[n],COMPARA[n+1],COMPARA[n+2],COMPARA[n+3],COMPARA[n+4] <- SECONDO GRUPPO (n° estrazione)

    Ora io dovrei semplicemente... confrontare i primi 4 elementi del vector con ogni GRUPPO di 5 elementi successivi dello stesso vector (ogni estrazione) al fine di trovarne 2 o più occorrenze uguali o meno.

    Come potrei fare?

    Grazie infinite a tutti/e


  2. #2


    Come da immagine, Read The Manual.

    Prova a farlo leggendo anche le esperienze di altri utenti che troverai semplicemente usando lo strumento Cerca del forum e il famosissimo (non per tutti a quanto pare) Google visto che è fattibilissimo usando uno di questi 2 metodi.

    Poi sicuramente se hai qualche dubbio, noi siamo qui

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Per adesso sono riuscito dopo enne tentativi a fare solo questo confronto...

    Originariamente inviato da lolide


    Come da immagine, Read The Manual.

    Prova a farlo leggendo anche le esperienze di altri utenti che troverai semplicemente usando lo strumento Cerca del forum e il famosissimo (non per tutti a quanto pare) Google visto che è fattibilissimo usando uno di questi 2 metodi.

    Poi sicuramente se hai qualche dubbio, noi siamo qui
    codice:
    
    if (compara[0] == compara[4] || compara[0] == compara [5] || compara[0] == compara[6] || compara[0] == compara [7] || compara[0] == compara[8] || compara[1] == compara[4] || compara[1] == compara [5] || compara[1] == compara[6] || compara[1] == compara [7] || compara[1] == compara[8] || compara[2] == compara[4] || compara[2] == compara [5] || compara[2] == compara[6] || compara[2] == compara [7] || compara[2] == compara[8] || compara[3] == compara[4] || compara[3] == compara [5] || compara[3] == compara[6] || compara[3] == compara [7] || compara[3] == compara[8] )
    occorrenza ++;
    }
    
    cout << "\n\n";
    cout << "occorrenze trovate:";
    cout << "\n\n";
    cout << occorrenza;
    cin.get();
    Ovvero sia sono riuscito a confrontare i primi quattro elementi con i primi successivi 5 elementi... Ma non riesco a dinamicizzare il codice in modo da poter confrontare i primi 4 elementi anche con i successivi 5 ecc... fino agli ultimi 5


  4. #4
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    1° tentativo di dinamicizzazione...

    codice:
    int g=4;
    
    if (compara[0] == compara[g] || compara[0] == compara [g+1] || compara[0] == compara[g+2] || compara[0] == compara [g+3] || compara[0] == compara[g+4] || compara[1] == compara[g] || compara[1] == compara [g+1] || compara[1] == compara[g+2] || compara[1] == compara [g+3] || compara[1] == compara[g+4] || compara[2] == compara[g] || compara[2] == compara [g+1] || compara[2] == compara[g+2] || compara[2] == compara [g+3] || compara[2] == compara[g+4] || compara[3] == compara[g] || compara[3] == compara [g+1] || compara[3] == compara[g+2] || compara[3] == compara [g+3] || compara[3] == compara[g+4] )
    occorrenza ++;
    
    
    g=g+4;
    
    }
    
    cout << "\n\n";
    cout << "occorrenze trovate:";
    cout << "\n\n";
    cout << occorrenza;
    cin.get();
    Potrebbe andare? Se no... dove e come devo cambiare il codice?

    tnks!


  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Mi rispondo da solo...

    Purtroppo anche in quel modo non va...

    codice:
    
    
    if (compara.size() !=0) {
    
    cout << compara[0];
    cout << "---";
    cout << compara[1];
    cout << "---";
    cout << compara[2];
    cout << "---";
    cout << compara[3];
    
    cout << "\n\n";
    cout << "GLI ALTRI ELEMENTI DI COMPARA (TUTTE LE ESTRAZIONI):";
    cout << "\n\n";
    
    
    cout << "\n\n";
    cout << "Il valore di g e' : ";
    cout << g;
    cout << "\n\n";
    cout << "Il confronto sta avvenendo tra ";
    cout << compara[0];
    cout << "-";
    cout << compara[1];
    cout << "-";
    cout << compara[2];
    cout << "-";
    cout << compara[3];
    cout << " & ";
    cout << compara[g];
    cout << "-";
    cout << compara[g+1];
    cout << "-";
    cout << compara[g+2];
    cout << "-";
    cout << compara[g+3];
    cout << "-";
    cout << compara[g+4];
    cout << " - ";
    cout << "\n\n";
    
    if (compara[0] == compara[g] || compara[0] == compara [g+1] || compara[0] == compara[g+2] || compara[0] == compara [g+3] || compara[0] == compara[g+4] || compara[1] == compara[g] || compara[1] == compara [g+1] || compara[1] == compara[g+2] || compara[1] == compara [g+3] || compara[1] == compara[g+4] || compara[2] == compara[g] || compara[2] == compara [g+1] || compara[2] == compara[g+2] || compara[2] == compara [g+3] || compara[2] == compara[g+4] || compara[3] == compara[g] || compara[3] == compara [g+1] || compara[3] == compara[g+2] || compara[3] == compara [g+3] || compara[3] == compara[g+4] )
    occorrenza ++;
    
    }
    
    
    
    cout << "\n\n";
    cout << "occorrenze trovate:";
    cout << "\n\n";
    cout << occorrenza;
    
    g=g+4;
    
    cin.get();
    In particolare adesso si mi verifica e scala regolarmente di 5 elementi alla volta... ma mi cambia anche i primi 4... mentre per ogni secondo gruppo esaminato dovrebbero restare uguali...

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.