Ir ao conteúdo
  • Cadastre-se

Problema em c


guinfo2

Posts recomendados

Boa tarde pessoal!!!

Sou novo aqui no fórum conto com a ajuda de vocês pois não estou sabendo fazer este exercício... postei o que consegui resolver apenas... conto com o auxílio de vocês.

Um atleta olímpico recebeu 6 (seis) notas, uma de cada juiz. As notas do

intervalo [0-10] (verifique isso). A média final do atleta pode ser calculada de duas

formas:

- Média aritmética das notas, sendo que a maior e a menor nota não são consideradas.

no cálculo.

- Média aritmética das notas, sendo que as duas menores notas não são consideradas.

Faça um Programa que leia as 6 (seis) notas do atleta, a opção de média e apresenta o

resultado ao usuário conforme a sua escolha.

#include <stdio.h>

#include <stdlib.h>

main()

{

float N1,N2,N3,N4,N5,N6,MEDIA;

printf("Digite o da PRIMEIRA nota:");

scanf("%f",N1);

printf("Digite o da SEGUNDA nota:");

scanf("%f",N2);

printf("Digite o da TERCEIRA nota:");

scanf("%f",N3);

printf("Digite o da QUARTA nota:");

scanf("%f",N4);

printf("Digite o da QUINTA nota:");

scanf("%f",N5);

printf("Digite o da SEXTA nota:");

scanf("%f",N6);

Link para o comentário
Compartilhar em outros sites

Vamos lá amigo..

Fiz esse código no Borland C++ Builder, como devem haver funções desconhecidas para você o código esta todo comentado, caso não intenda algum passo não exite em perguntar:

Parte 1 (Declarações):

#include <stdio.h>

#include <stdlib.h>

Parte 2 (Variáveis):

int N[6], aux; // N[6] Vetor Notas

float Media;

bool NotaInvalida=0;

Parte 2 (Leitura das NOTAS e salvas em um Vetor de 6 Posições)

for(int i=0; i<6; i++)

{

N=atoi(StringGrid1->Cells[0].c_str()); // Copia Notas da posição 0 até 5

if(N<0 || N>10) // Verifica se a nota NÃO está contida em [0,10]

{

ShowMessage("NOTA INVÁLIDA!!! [0,10]"); // Notifica a irregularidade

NotaInvalida=true; // Desabilita a continuação do programa

}

}

Parte 3 :

if(!NotaInvalida) // Caso nem um numero seja invalido

{

for(int i=0; i<6; i++) // Coloca o vetor em ordem crescente

for(int i=0; i<6; i++)

{

if(N[(i+1)]<N)

{

aux=N;

N=N[(i+1)];

N[i+1]=aux;

}

}

if(RadioButton1->Checked) // Se Média Tipo 1 for escolhida

{

for(int i=1; i<5; i++) // Desconsidera Menor e Maior Nota

Media+=N;

Media/=4;

ShowMessage(Media); // Apresenta a Média

}

if(RadioButton2->Checked) // Se Média Tipo 2 for escolhida

{

for(int i=2; i<6; i++) // Desconsidera as duas menores notas

Media+=N;

Media/=4;

ShowMessage(Media); // Apresenta a Média

}

}

Espero ter ajudado, ou pelo menos dado uma luz.

Link para o comentário
Compartilhar em outros sites


#include <stdio.h>
#include <stdlib.h>

int main() {

float nota[6];
float MEDIA, temp;
int x, y;

printf("Digite o da PRIMEIRA nota:");
scanf("%f", &nota[0]);
printf("Digite o da SEGUNDA nota:");
scanf("%f", &nota[1]);
printf("Digite o da TERCEIRA nota:");
scanf("%f", &nota[2]);
printf("Digite o da QUARTA nota:");
scanf("%f", &nota[3]);
printf("Digite o da QUINTA nota:");
scanf("%f", &nota[4]);
printf("Digite o da SEXTA nota:");
scanf("%f", &nota[5]);

//agora você tem as 6 notas dentro do vetor nota[]
//basta agora ordenar elas pra ficar mais fácil de
//pegar as maiores ou menores

//método de ordenação simples por força bruta
for (y=0; x < 5; y++)
for (x=0; x < 5; x++)
if (nota[x] > nota[x+1]) {
temp = nota[x];
nota[x] = nota[x+1];
nota[x+1] = temp;
}


//depois disso o seu vetor nota[] vai estar ordenado
//da menor nota até a maior.
//pra fazer a média sem considerar a maior e menor nota,
//basta somar a nota[1] até a nota[4] e dividir por 4
//pra desconsiderar as duas menores, basta somar as
//notas de nota[2] até nota[5] e dividir por 4.

return 0;
}

Não testei, mas acho que se tiver algum erro dá pra resolver.

Faltou a parte de testar se as notas são maiores que 0 e menores que 10, mas é simples de fazer.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!