Aiuto esercizio struct

di il
3 risposte

Aiuto esercizio struct

Salve a tutti,dovrei creare un programma in cui prendo in in ingresso nome e anno di nascita e devo stampare a video l'anno in cui ci sono state più nascite.
Il problema che sto riscontrando è che ho creato una struct che contiene nome-anno-conteggio, però non so come fare per calcolare l'anno con più nascite quindi,avevo pensato di confrontare i vari anni e aumentare il contatore conteggio in caso di anno però non riesco a farlo,grazie mille
la mia prova è stata
void conta(struct tot,int n){
    int i;
    for(i=0; i<n; i++){
        if(tot[i].anno==tot[i+1].anno){
            tot[i].conteggio++;
        }
    }
}
ma non va

3 Risposte

  • Re: Aiuto esercizio struct

    Non riesci a farlo ... ma hai tentato ? Facci vedere un po' il codice con cui hai tentato ... vediamo dove sbagli ...
  • Re: Aiuto esercizio struct

    Per il confronto ho tentato questo
    void conta(v tot,int n){
        int i;
        for(i=0; i<n; i++){
            if(tot[i].anno==tot[i+1].anno){
                tot[i].conteggio++;
            }
        }
    }
    richiamando la funzione attraverso la funzione con la quale prendo i nomi e anno di nascita,avevo anche pensato di usare una funzione bool per il confronto ma non riesco @oregon
  • Re: Aiuto esercizio struct

    Prima cosa tor[i+1] nom va bene: l'ultima iterazione del ciclo porterà ad accedere ad un elemento oltre quelli disponibili dell'array tot.

    Detti questo, prova a pensare un attimo: con un solo ciclo stai confrontando semplicemente un elemento con il suo successivo, ma in realtà devi confrontare ogni elemento con gli altri. Stando attento a non conteggiarli due volte.
Devi accedere o registrarti per scrivere nel forum
3 risposte