Contare molteplicità di elementi in un vettore

di il
4 risposte

Contare molteplicità di elementi in un vettore

Ciao ragazzi, ecco il mio primo post sul forum.

Sono davvero confuso sulla realizzazione di un programma in C++.
Dovrei determinare il numero di volte che un elemento del vettore è presente nel vettore stesso (con 200 elementi massimi, ognuno inserito in input).
Questo per tutti gli elementi del vettore.

Ho studiato attentamente le risposte presenti a topic simili su questo forum, ma non riesco davvero a risolverlo in c++, sebbene la realizzazione teorica mi sembra di averla capita.
Per questo chiedo il vostro aiuto

Grazie, davvero.

4 Risposte

  • Re: Contare molteplicità di elementi in un vettore

    Cosa hai pensato di fare? Idee?
  • Re: Contare molteplicità di elementi in un vettore

    oregon ha scritto:


    Cosa hai pensato di fare? Idee?


    Ciao, grazie della risposta.
    Partendo dicendo che il programma è per scuola, non per progetti personali.
    avevo pensato a un vettore contatore che si incrementa, oppure a un contatore, però non so come far sì che sia per ogni elemento del vettore.

    nel senso potrei farlo se si tratta di un solo valore, ma così va oltre le mie capacità
  • Re: Contare molteplicità di elementi in un vettore

    Il problema non è chiarissimo, vediamo comunque di mettere a fuoco.
    Supponiamo che io immetta 200 volte lo stesso valore (es. '3'). In uscita che cosa mi aspetto? Una riga ('Il valore 3 è presente 200 volte').
    Supponiamo che io immetta 200 valori diversi (es. '1', '2', ..., '200'). In uscita cosa mi aspetto? 200 righe ('Il valore 1 è presente 1 volta', 'Il valore 2 è presente 1 volta', ecc.).
    Non sappiamo se ci sono valori 'non validi', ad esempio i valori negativi o lo zero. Quindi ci diamo da soli dei limiti: i valori in input possono essere solo interi positivi maggiori di 0.
    Detto questo, il programma lo imposterei così: due vettori da 200 posizioni di tipo intero. Il primo contiene i valori in input, il secondo i conteggi. All'inizio li inizializzerei tutti a 0. Farei un ciclo while da cui esco quando il contatore ha superato 199 o quando in input ho letto '<=0'.
    Nel while: leggo un valore, se è > 0 inizio a cercare il valore nel vettore degli input, se lo trovo incremento il contatore nel vettore dei conteggi, se non lo trovo aggiungo il valore nel vettore degli input e incremento di uno il suo contatore nel vettore dei conteggi. Se il valore in input è <=0 termino il while e stampo i risultati.
    Incomincia a buttare giù qualcosa sulla base di questa traccia.
  • Re: Contare molteplicità di elementi in un vettore

    Andrea Quaglia ha scritto:


    Il problema non è chiarissimo, vediamo comunque di mettere a fuoco.
    Supponiamo che io immetta 200 volte lo stesso valore (es. '3'). In uscita che cosa mi aspetto? Una riga ('Il valore 3 è presente 200 volte').
    Supponiamo che io immetta 200 valori diversi (es. '1', '2', ..., '200'). In uscita cosa mi aspetto? 200 righe ('Il valore 1 è presente 1 volta', 'Il valore 2 è presente 1 volta', ecc.).
    Non sappiamo se ci sono valori 'non validi', ad esempio i valori negativi o lo zero. Quindi ci diamo da soli dei limiti: i valori in input possono essere solo interi positivi maggiori di 0.
    Detto questo, il programma lo imposterei così: due vettori da 200 posizioni di tipo intero. Il primo contiene i valori in input, il secondo i conteggi. All'inizio li inizializzerei tutti a 0. Farei un ciclo while da cui esco quando il contatore ha superato 199 o quando in input ho letto '<=0'.
    Nel while: leggo un valore, se è > 0 inizio a cercare il valore nel vettore degli input, se lo trovo incremento il contatore nel vettore dei conteggi, se non lo trovo aggiungo il valore nel vettore degli input e incremento di uno il suo contatore nel vettore dei conteggi. Se il valore in input è <=0 termino il while e stampo i risultati.
    Incomincia a buttare giù qualcosa sulla base di questa traccia.
    grazie mille davvero, grazie al tuo consiglio ho risolto!
Devi accedere o registrarti per scrivere nel forum
4 risposte