Ir para conteúdo
Fórum Script Brasil
  • 0

Galera Como FaÇo.....


xisto

Pergunta

eu preciso de um programa que eu entre com por exemplo 6 numeros.... excluo o maior, o menor... e somo os restantes e calculo uma média com os restantes....

int main()

{

int n1,n2,n3,n4,n5,n6, omaior, omenor, maior1, maior2, maior3, menor1, menor2, menor3;

int soma;

float media;

printf("**** CALCULO DE NOTA ***\n\n\n");

printf("ENTRE COM AS SEIS NOTAS: ");

scanf("%d %d %d %d %d %d",&n1,&n2,&n3,&n4,&n5,&n6);

if (n1>n2) {

maior1=n1;

menor1=n3;}

else if (n2>n1){

maior1=n2;

menor1=n1;}

if (n3>n4){

maior2=n3;

menor2=n4;}

else if (n4>n3){

maior2=n4;

menor2=n3;

}

if (n5>n6){

maior3=n5;

menor3=n6;}

else if (n6>n5){

maior3=n6;

menor3=n5;

}

// else printf("");

//o maior de todos

if ((maior1>maior2) && (maior2>maior3))

omaior=maior1;

else if ((maior1>maior3) && (maior3>maior2))

omaior=maior1;

else if ((maior2>maior1) && (maior1>maior3))

omaior=maior2;

else if ((maior2>maior3) && (maior3>maior1))

omaior=maior2;

else if ((maior3>maior1) && (maior1>maior2))

omaior=maior3;

else if ((maior3>maior2) && (maior2>maior1))

omaior=maior3;

//o menor de todos

if ((menor1<menor2) && (menor2<menor3))

omenor=menor1;

else if ((menor1<menor3) && (menor3<menor2))

omenor=menor1;

else if ((menor2<menor1) && (menor1<menor3))

omenor=menor2;

else if ((menor2<menor3) && (menor3<menor1))

omenor=menor2;

else if ((menor3<menor1) && (menor1<maior2))

omenor=menor3;

else if ((maior3>maior2) && (maior2>maior1))

omenor=menor3;

// else printf("");

soma=(n1+n2+n3+n4+n5+n6)-(omaior+omenor);

media=soma/4;

system("PAUSE");

return 0;

}

Editado por xisto
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom... eu acho que seria mais interessante e mais fácil também se você usasse um vetor ou uma lista dinâmica, ao invés de colocar uma variável pra cada número digitado...

Depois pra excluir o maior e o menor número, primeiro você poderia fazer uma varredura nesse lista e detectar qual é o maior e o menor número mais ou menos assim:

for(cont=0;cont<6;cont++)
{
   if(vet[cont]>maior;
     maior=vet[cont];
}

Depois que você já achou quais são esses valores você tem que exclui-los, mas você vai ter que tomar o cuidado de transferir os valores que vêm depois, uma casa pra frente... nessa hora você deve tomar muito cuidado pra não perder nenhum valor...

Espero ter ajudado... ;)

Editado por Mi_Mi
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...