Ir ao conteúdo

Posts recomendados

Postado

Olá!
Preciso fazer um programa em C que colete a altura e peso de 15 pessoas,
armazene em uma matriz 15x3 os valores do peso, altura e IMC nas colunas, mostre todos os valores 
e o maior e o menor valor do IMC.

Como faço para fazer o calculo do imc e colocar em um posição na matriz?... crio uma variável ou sem já consigo?

 

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



int main(int argc, char *argv[]) {
    
    
    float mat[15][3], imc;
    int i, j;
    
    
    for(i=1;i<=15;i++){
        for(j=1;j<=3;j++){
            printf("\nDigite a sua altura (em metros): ");
            scanf("%f", &mat[i][j]);
            printf("Digite o seu peso (em kg): ");
            scanf("%f", &mat[i+1][j+1]);
            imc = mat[i][j]*mat[i][j];
            imc = mat[i][j];
        }
    }
    
    

    return 0;
}

 

Postado

Você pode colocar na terceira posição da matriz.

exemplo

	for (i = 0; i < 15; i++) {
		mat[i][2] = mat[i][0]/mat[i][1];
	}

 

Mas eu daria preferência para criar constantes ao invés de digitar as posições.

exemplo

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

#define QUANTIDADE_PESSOAS 15
#define QUANTIDADE_MEDIDAS 3

#define PESO 0
#define ALTURA 1
#define IMC 2


int main(int argc, char *argv[])
{
    float informacao_pessoas[QUANTIDADE_PESSOAS][QUANTIDADE_MEDIDAS];
    int linhas, colunas;
    
    
    /* Pega o peso e a altura */
    for(linhas = 0;linhas < QUANTIDADE_PESSOAS; linhas++) {
        for (colunas = 0; colunas < QUANTIDADE_MEDIDAS-1; colunas++) {
            switch (colunas) {
                case PESO:
                    printf("Digite o peso da pessoa %i em Kilos:", linhas+1);
                    scanf("%f%*c", &informacao_pessoas[linhas][colunas]);
                    break;
                
                case ALTURA:
                    printf("Digite a altura da pessoa %i em metros:", linhas+1);
                    scanf("%f%*c", &informacao_pessoas[linhas][colunas]);
                    break;
            }
        }
    }
    
    /* Calcula o IMC */
    for (linhas = 0; linhas < QUANTIDADE_PESSOAS; linhas++) {
        informacao_pessoas[linhas][IMC] = informacao_pessoas[linhas][PESO]/informacao_pessoas[linhas][ALTURA];
    }
    
    /* Mostra o IMC de cada pessoa */
    for (linhas = 0; linhas < QUANTIDADE_PESSOAS; linhas++) {
        printf("O imc da pessoa %i e de %.2f\n", linhas+1, informacao_pessoas[linhas][IMC]);
    }
    printf("Pressione enter para continuar....\n");
    getchar();
    return 0;
}

 

  • Curtir 2

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