Ir para conteúdo

Arquivado

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

Joyce Cristina de oliveira

Ajuda ! Linguagem C++

Recommended Posts

Ola!

Boa noite a todos!

Preciso de uma ajuda???

 

Tem-se um conjunto de dados contendo altura e sexo (0 – feminino e 1 -
masculino) de 20 pessoas. Desenvolva uma rotina que calcule e exiba:
a. A maior e menor altura do grupo;
b. A média de altura das mulheres;
c. Número de homens.
Consegui chegar até A, mas depois disso não está dando certo...
segue:
#include<stdio.h>
#include<stdlib.h>
main()
{
float sx,alt,maior,menor,num,i;
for(i=1;i<=2;i++){
printf("Digite: 0 - Feminino 1 - Masculino\n ");
scanf("%f",&sx);
printf("Informe a Altura\n");
scanf("%f",&alt);
if(i==1){
maior=alt;
menor=alt;
}
else if(alt>maior)
{
maior=alt;
}
else if(alt<menor)
{
menor=alt;
}
}
if(sx==0){
alt=alt+alt;
}
else if(sx==1)
{
sx=sx+sx;
}
printf("Media -> Mulheres: %f", alt);
printf("\nQuantidade-> Homens: %f", sx);
printf("\n%1.2f Menor Altura e Maior Altura %1.2f\n",menor,maior);
system("pause");
return 0;
}

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Logica:

A- use uma variável que verifica quando os dados são inseridos, se a altura for maior que a da variável, então obtê-la, assim sera o mesmo com a menor.

B- use uma variável para somar todas alturas que forem de mulheres, e depois você divide pela quantidade de mulheres inseridas, o que requere uma variável para contar quantas mulheres tem.

C- use uma variável para contar quantos homens tem.

 

Na pratica:

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


main(){
    int sx,_homens = 0;
    float i,alt,maior,menor,_mulheres = 0.00,media_mulher = 0.00,alt_mulheres = 0.00;
    for(i=1;i<=2;i++){
        printf("Digite o genero\nUse 0 - Feminino 1 - Masculino\n: ");
        scanf("%d",&sx);

        printf("Informe a Altura\n");
        scanf("%f",&alt);

        if(i==1){
            maior=alt;
            menor=alt;
        }

        if(alt>maior){
            maior=alt;
        }
        if(alt<menor){
            menor=alt;
        }
        //Se for mulher, equivale a false ou 0
        if(!sx){
            alt_mulheres+=alt;
            _mulheres++;
        }else _homens++;
    }
    //Se existir mulheres
    if(_mulheres){
        media_mulher = alt_mulheres/_mulheres;
        printf("Media -> Mulheres: %1.2f", media_mulher);
    }else printf("\nNenhuma mulher inserida para obter uma media!");

    printf("\nQuantidade-> Homens: %d", _homens);
    printf("\n%1.2f Menor Altura e Maior Altura %1.2f\n",menor,maior);

    system("pause");
    return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.