TEMA

Erro 5% - Socorro

Camila Bianca Silva Caldas preguntado 1 year ago

include

int main (){ int pessoas,maior=0,pos,suspeita=0,i,vetor[1000];

do{
    scanf("%d",&pessoas);
    for(i=1;i<pessoas+1;i++){
        scanf("%d",&vetor[i]);
        if(vetor[i]>maior){
            maior=vetor[i];
        }
    }
    pos=0;
    suspeita=0;
    for(i=1;i<pessoas+1;i++){
        if(vetor[i]>suspeita && vetor[i]!=maior){
            suspeita=vetor[i];
            pos=i;
        }
    }
    printf("%d\n",pos);

}while(pessoas!=0);
return 0;

}

Recuerda no enviar soluciones. Tu mensaje puede ser revisado por nuestros moderadores.

  • Eduardo Theodoro Bogue respondido 1 year ago

    Oi Camila, tudo bem? No caso, como você está indexando o seu vetor por 1, ele deveria ter 1001 posições, de modo a range do vetor estar de 0 até 1000. Além disso, a variável maior está sendo inicializada apenas no primeiro caso de teste do problema. Ademais, veja que se a entrada for apenas um 0, o seu programa estará imprimindo o valor 0 como resultado, de modo que o mais correto seria você efetuar a leitura da seguinte forma:

    while(scanf("%d", &n) && n!=0){
    }

    []s

    MOD