Ir ao conteúdo
  • Cadastre-se

C++ algoritmo de um grupo calcular a maior e a menor altura


raphu_
Ir à solução Resolvido por devair1010,

Posts recomendados

algoritmo contendo a altura e o sexo (masculino, feminino) que calcule e escreva: a maior e a menor altura do grupo;
A média de altura das mulheres ; O número de homens;

 

O código não da erro mas não consigo o resultado que quero alguém pode me ajudar, o que esta errado? estou estudando c+

acho que pode ser algo no laço for.

#include<stdio.h>
#include<string.h>

int main(){
int x,i,numhomem=0,nummulher=0;
float h,media=0,somahm=0,maioraltura=0,menoraltura=0;
char sexo[12];

printf("digite o numero do grupo:\n");
scanf("%d",&x);
  for(i=0;i<x;i++){
printf("digite sua altura:\n");
scanf("%f",&h);
printf("digite qual o seu sexo:\n");
scanf("%s",&sexo);
  if(strcmp(sexo,"feminino")==0){
  	nummulher++;
  	somahm=h+somahm;
  media=somahm/nummulher;
   }
  else if (strcmp(sexo,"masculino")==0){
  	numhomem++;
   }
  if(h>maioraltura){
  	maioraltura= h;
  	menoraltura= maioraltura;
   }
else if (h<menoraltura){
	menoraltura=h;
   }
 } 
printf("maior altura: %.2f\n",&maioraltura);
printf("menor altura : %.2f\n",&menoraltura);
printf("media altura mulheres: %.2f\n",&media);
printf("numero de homens: %d \n",&numhomem);
return 0;

}
#include<stdio.h>
#include<string.h>

int main(){
int x,i,numhomem=0,nummulher=0;
float h,media=0,somahm=0,maioraltura=0,menoraltura=0;
char sexo[12];

printf("digite o numero do grupo:\n");
scanf("%d",&x);
  for(i=0;i<x;i++){
printf("digite sua altura:\n");
scanf("%f",&h);
printf("digite qual o seu sexo:\n");
scanf("%s",&sexo);
  if(strcmp(sexo,"feminino")==0){
      nummulher++;
      somahm=h+somahm;
  media=somahm/nummulher;
   }
  else if (strcmp(sexo,"masculino")==0){
      numhomem++;
   }
  if(h>maioraltura){
      maioraltura= h;
      menoraltura= maioraltura;
   }
else if (h<menoraltura){
    menoraltura=h;
   }
 } 
printf("maior altura: %.2f\n",&maioraltura);
printf("menor altura : %.2f\n",&menoraltura);
printf("media altura mulheres: %.2f\n",&media);
printf("numero de homens: %d \n",&numhomem);
return 0;

}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • DiF alterou o título para algoritmo de um grupo calcular a maior e a menor altura
  • Solução

@raphu_   olá , esse código não é de C++ , não ,  ele realmente é da linguagem C ,   a menor altura , você pode  usar um if para pegar a primeira altura inserida pelo usuário , e a partir dessa vai testando as seguintes ,  pode ser assim :

#include    <stdio.h>
#include    <conio.h>
#include    <float.h>
#include    <iso646.h>
#include    <stdlib.h>
#include    <string.h>
int main    ( )    
{
    int   x                ;
    int   i                ;
    int   numhomem    = 0  ;
    int   nummulher   = 0  ;
    float h           = 0.0;
    float media       = 0.0;
    float somahm      = 0.0;
    float maioraltura = 0.0;
    float menoraltura = 0.0;
    char  sexo[12]    =  "";

    printf("digite o numero do grupo: ");
    fflush(stdin);          /// quando muda o tipo de dado da leitura com scanf
    scanf("%d", & x );      /// ele pula essa instruCAo e vai para a outra linha
    for(i=0; i<x; i++)
    {
        printf("digite sua altura: ");
        fflush(stdin);      /// quando muda o tipo de dado lido por scanf
        scanf("%f", & h );  /// costuma pular para outra linha
        if(i==0)            /// só pega na primeira entrada
        {
            menoraltura = h; /// só pega a primeira altura digitada
            maioraltura = h; /// e inicializa as duas variAveis
        }
        printf("digite qual o seu sexo: ");
        fflush(stdin);       /// limpa o buffer em ealguns casos
        scanf("%s", sexo);   /// ler String não precisa desse sImbolo   "&"
                             /// pois já tem o endereCo da variAvel
        if(strcmp(sexo,"feminino") == 0 )
        {
            printf("Mulher %.2f\n",h);
            nummulher++;
            somahm = h + somahm;
            ///media=somahm/nummulher;  isso aqui melhor colocar depois do laCo for
        }
        else
        {
            if (strcmp(sexo,"masculino") == 0 )
            {
                printf("Homen %.2f\n",h);
                numhomem++;
            }
        }
        if(h > maioraltura)
        {
            maioraltura = h;
            ///menoraltura= maioraltura;
        }
        else
        {
            if ( h < menoraltura )
            {
                menoraltura = h;
            }
        }
    }

    media = somahm / nummulher;
    printf("maior altura -----------: %.2f\n", maioraltura); /// não precisa desse sImbolo "&"no printf  , não
    printf("menor altura -----------: %.2f\n", menoraltura);
    printf("media altura mulheres --: %.2f\n", media      );
    printf("numero de homens -------: %3d \n", numhomem   );
    return 0;
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • 4 meses depois...

Olá, observem.

 

O Problema

Algoritmo contendo a altura e o sexo (masculino, feminino) que calcule e escreva.

 

A maior e a menor altura do grupo é:
A média de altura das mulheres  ... é: 

O número de homens                  ... é:

 

Uma Analise

Há alguma indicação de interação (dado-a-dado) com o usuário?

— Acho que não, e nem há indicação do tamanho do grupo.

 

A condição de parada do algoritmo, supostamente, não é um limite quantitativo, mas sim, talvez, um sinal (flag): nota-se que a informação é composta dum par de dados (altura e sexo: sendo “masculino” ou “feminino”) e o grupo, aparentemente, é uma corda de informação. E sabe-se que as cordas acabam em 0 ('\0').

 

 

***Para min, deve-se uma revisão de prompt.

 

 

 

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!