C++ , programma con i vettori..

di il
9 risposte

C++ , programma con i vettori..

Ciao Ragazzi,vorrei sapere se potete darmi un aiuto!
Il mio programma richiede l'utilizzo delle funzioni.
1)Caricare n elementi in un vettore
2)creare una funzione che mi dica quante volte sono presenti gli elementi nel vettore(ad esempio:dato il vettore 1 3 1 2 4 7 5 2 5 4 1) 1 è presente 3 volte,3 una volta,2 due volte etc)
3)Creare un secondo vettore dato dal precedente e che elimini tutte le copie presenti
4) visualizzi gli elementi del vettore

#include <iostream>

using namespace std;

void LoadVett(int V[],int n){
for(int i=0; i<n; i++){
cout<<"Inserisci un valore"<<endl;
cin>>V[i];
}
}

void CoutVett(int V[],int n)
{
cout<<"Il vettore è formato da ";
for(int i=0; i<n; i++)
{
cout<<V[i]<< ", ";
}
}
int main()
{
int V[100],n;

    cout<<"Inserisci numero elementi da inserire"<<endl;
    cin>>n;
    LoadVett(V,n);
}
Scusami... ho fatto il primo e quarto punto !

9 Risposte

  • Re: C++ , programma con i vettori..

    Leggi il regolamento. Se vuoi un aiuto te la diamo ma se vuoi la soluzione no.
    Fai vedere dove che ti sei fermato e poi vediamo. Intanto cambia il tito del thread.
  • Re: C++ , programma con i vettori..

    Ho cambiato la domanda... sono arrivato fin lì..
  • Re: C++ , programma con i vettori..

    Per il secondo punto.
    (se non hai ancora studiato le strutture)
    1. Crei un vettore della stessa grandezza del primo
    2. Chiama una funzione che ti conta quante volte il valore i-esimo è presente nel primo vettore e ti stampa quante volte ha trovato il valore
    3. inserisci il valore nel secondo vettore nel primo posto vuoto(che lo chiamaiamo ricercato)
    4. Continua dal punto 2 per i +1

    (se hai studiato le strutture)
    Crea una struttura del tipo
    
    struct conteggio
    {
       int valore;
       int occorrenze;
    }
    
    1. Crea un vettore di strutture della dimensione del vettore iniziale
    2. Se il valore non è presente in struttura lo inserisci e imposti la sua occorrenza ad 1
    2b. se c'è aumenti di uno la sua occorrenza.
  • Re: C++ , programma con i vettori..

    Scusa ma non ho capito come fare il punto due...
    2) Chiama una funzione che ti conta quante volte il valore i-esimo è presente nel primo vettore e ti stampa quante volte ha trovato il valore
    Di solito io faccio il confronto di un elemento in una posizione con un elemento inserito da me e aumento un contatore ma ora è diverso...
    Ecco come faccio:
    void occorenzel(int V[],int x,int c){
    for(int i=0;i<n;i++){
        if(V[i]==x){c++;}
        else{i++;}
    
    
    }
  • Re: C++ , programma con i vettori..

    Sto provando in ma niente ...
  • Re: C++ , programma con i vettori..

    Non hai spiegato se conosci o meno le strutture.
  • Re: C++ , programma con i vettori..

    Conosco solo la struttura dati,cioè il vettore
  • Re: C++ , programma con i vettori..

    1. Crei un vettore della stessa grandezza del primo
    
    int v2[100]
    2. Chiama una funzione che ti conta quante volte il valore i-esimo è presente nel primo vettore e ti stampa quante volte ha trovato il valore
    bool occorenzeValore(int v1[], int numero_elementiV1,int V2[],int numero_elementiV2,int valore)
    {
       int occorrenze = 0;
       for(int i=0;i < numero_elementiV2;i++)
       {
           if(V2[i]==valore)
           {
               return true;
           }
      }
      for(int i=0;i < numero_elementiV1;i++)
      {
           if(V1[i]==valore)
           {
               occorrenze++;
           }
      }
      cout << "Ci sono " << occorrenze << "occorenze del valore " << valore;
      return false;
    }
    3. inserisci il valore nel secondo vettore nel primo posto vuoto(che lo chiamiamo ricercato)
    if(!occorenzeValore(v1,numero_elementiV1,V2,numero_elementiV2,V1[i]))
    {
       V2[numero_elementiV2++] = V1[i];
    }
    Nel punto 3 l-if controlla se il valore esiste in V2. Se non esiste aumenta di 1 il numero di elementi di V2 e ci mette dentro il valore del i-esimo elemento di V1.
    4. Continua dal punto 2 per i +1
    Manca solo mettere insieme i pezzi.

    Ovvero nel main
    
    for(int i = 0; i < numero_elementiV1; i++)
    {
       if(!occorenzeValore(v1,numero_elementiV1,V2,numero_elementiV2,V1[i]))
       {
          V2[numero_elementiV2++] = V1[i];
       }
    }
    
  • Re: C++ , programma con i vettori..

    3)Creare un secondo vettore dato dal precedente e che elimini tutte le copie presenti
    Questo è il nostro vettore V2, quindi "mistero risolto"
Devi accedere o registrarti per scrivere nel forum
9 risposte