Funzione Candidato più intelligente ed il giudice più severo

di il
4 risposte

Funzione Candidato più intelligente ed il giudice più severo

Salve a tutti. Ho problemi riguardante la visualizzazione del candidato più intelligente ed il giudice più severo. Qualcuno potrebbe aiutarmi?

/*In un concorso di intelligenza, N giudici esprimono il loro giudizio su K
candidati. Il giudizio è un valore numerico tra 0 e 5. Si scriva una funzione per
determinare il candidato più intelligente, ed il giudice più severo*/

#include <stdio.h>
#include <stdlib.h>
#define MAXN 10
#define MAXK 100

/*Definizione del prototipo*/
void candidato_giudice (int C,int G,int Voti[][MAXN]);

int main() {
    int N,K,i,j;
    int voti[MAXN][MAXK];
    
    printf("Quanti candidati ci sono? ");
    scanf("%d",&K);
    
    printf("Quanti giudici ci sono? ");
    scanf("%d",&N);
    
    for(i=0;i<K;i++) {
        printf("Immettere i giudizi per il candidato %d\n",i+1);
        for(j=0;j<N;j++) {
            printf("Giudice %d, Cosa pensi del candidato %d? ",j+1,i+1);
            scanf("%d", &voti[i][j]);
        }
    }
    
    printf("Visualizzare il candidato più intelligente ed il giudice più severo\n");
    void candidato_giudice(K,N,voti[MAXK][MAXN]);

    return 0;
}

void candidato_giudice (int C,int G,int Voti[][MAXN]){
    int TOTC[MAXK]; /*somma dei voti per ogni candidato*/
    int TOTG[MAXN]; /*somma dei voti per ogni giudice*/
    int i,j;
    int min,max,posmin,posmax;
    
    for(i=0;i<C;i++) TOTC[i]=0;
    for(j=0;j<G;j++) TOTG[j]=0;
    
    for(i=0;i<C;i++) {
        for(j=0;j<G;j++) {
            TOTC[i]=TOTC[i]+Voti[i][j];
            TOTG[j]=TOTG[j]+Voti[i][j];
        }
    }
    
    max=TOTC[0];
    posmax=0;
    
    for(i=1;i<C;i++) {
        if(TOTC[i]>max) {
            max=TOTC[i];
            posmax=i;
        }
    }
    
    printf("Il vincitore e' il candidato numero %d\n",posmax+1);
    
    min=TOTG[0];
    posmin=0;
    
    for(i=1;i<G;i++) {
        if(TOTC[i]>max) {
            min=TOTG[i];
            posmin=i;
        }
    }
    
    printf("Il giudice piu' severo e' il numero %d\n",posmin+1);

}

4 Risposte

  • Re: Funzione Candidato più intelligente ed il giudice più severo

    Cominciamo col definire cosa si intende con "più intelligente" e "più severo"
  • Re: Funzione Candidato più intelligente ed il giudice più severo

    Il candidato ad aver ricevuto un un elevato punteggio rispetto agli altri mentre per il giudice ad aver assegnato il minor punteggio ad ogni candidato
  • Re: Funzione Candidato più intelligente ed il giudice più severo

    Banale

    Due cicli e te la cavi
  • Re: Funzione Candidato più intelligente ed il giudice più severo

    Non hai detto cosa/dove non ti funziona..
    Comunque Voti[][] non ti serve. Man mano che chiedi i voti li metti direttamente in TotC[] e TotG[]
    Questi due vettori ti consiglio di metterli a zero prima di usarli per sommarci man mano i voti.
    
    for (g=0;g<qntGiud;g++)
        {
            for (c=0;c<qntCand;c++)
            {
                printf("\n Inserire il voto del giudice %d per il candidato %d: ",g+1,c+1);
                scanf("%d",&votoInserito);
                
                VotoCand[c] = VotoCand[c] + votoInserito;
                VotoGiud[g] = VotoGiud[g] + votoInserito;
                
                if (VotoCand[c]>VotoMaxC)
                {
                    VotoMaxC=VotoCand[c];
                    indCandMax=c;
                }    
            }
            if (VotoGiud[g]<VotoMinG)
            {
                VotoMinG=VotoGiud[g];
                indGiudMin=g;
            }    
        }    
        printf("\n Il candidato migliore è il n. %d",indCandMax+1);
        printf("\n Il giudice più severo è il n. %d",indGiudMin+1);
Devi accedere o registrarti per scrivere nel forum
4 risposte