Confira as soluções para o problema "Saltos Ornamentais"!
:)
Plataforma: URI (BEECROWD)
Problema: 2311
Enunciado:
Em uma determinada competição de saltos ornamentais, cada salto recebe um grau de dificuldade e é avaliado por sete juízes. Após cada salto, os juízes, que não se comunicam uns com os outros, mostram suas notas. Um salto é cotado entre zero e dez pontos. Depois de apresentadas as notas, a mais alta e a mais baixa são descartadas. O restante é somado e multiplicado pelo grau de dificuldade do salto, que gira entre 1,2 e 3,8, definido sempre antes do início da apresentação do atleta. O julgamento então é feito da seguinte forma: supondo que um saltador tenha sua nota de partida (seu grau de dificuldade de movimento) avaliada em 2,0 e tire notas 6,0, 5,0, 5,0, 5,0, 5,0, 5,0, 4,0 em sua execução. Disso, retira-se a nota mais baixa e a mais alta, o que gera um resultado parcial de 25,0. Então, pega-se a nota de execução e multiplica-a pela nota de partida para se chegar ao resultado final, que neste exemplo é de 50,0. Seu programa deve apresentar o resultado de uma competição de acordo com estas regras.
Linguagens: C e C++
Solução:
Código em C:
#include <stdio.h> int main() { int n, indice = 0, i; double dificuldade, nota, notas[7], maior, menor; scanf("%i ", &n); char nomes[n][128]; while (indice < n) { scanf("%s", nomes[indice]); scanf("%lf", &dificuldade); maior = 0.0; menor = 10.0; nota = 0.0; for (i = 0; i < 7; i++) { scanf("%lf ", ¬as[i]); nota += notas[i]; if (notas[i] > maior) maior = notas[i]; if (notas[i] < menor) menor = notas[i]; } printf("%s %.2lf\n", nomes[indice++], dificuldade * (nota - maior - menor)); } return 0; }
#include <iostream> #include <iomanip> using namespace std; int main() { int n, indice = 0; double dificuldade, nota, notas[7], maior, menor; cin >> n; cin.ignore(); string nomes[n]; while (indice < n) { getline(cin, nomes[indice]); cin >> dificuldade; maior = 0.0; menor = 10.0; nota = 0.0; for (int i = 0; i < 7; i++) { cin >> notas[i]; nota += notas[i]; if (notas[i] > maior) maior = notas[i]; if (notas[i] < menor) menor = notas[i]; } cout << nomes[indice++] << " " << fixed << setprecision(2) << dificuldade * (nota - maior - menor) << endl; cin.ignore(); } return 0; }