Ir ao conteúdo
  • Cadastre-se

C Exercicio em C para segunda


Mac Ramos

Posts recomendados

Boa noite , pessoal alguém pode me ajudar na resolução deste exercício to começando e essa não estou conseguindo resolver.

O programa pede para receber  peso de 30 alunos, essa parte está ok, depois exibir a media ok, agora a parte que pede para pegar os pesos entre 50 a 60 não estou acertar, se alguém puder ajudar agradeço. obs: peso está ficando peso na pre-visualização.

#include<stdio.h>
#include<stdlib.h>
#define N 30
int main(){
    int i ; 
    float peso[N], media=0.0, cont=0;
    for(i=0;i<N;i++){
        printf(" Digite o peso do aluno %d:", i);
        scanf("%f",&peso);
        media= media+peso;         
    }
    media = media/N;
    for(i=0;i>= 50 && i<=60;i++){
        scanf("%f", &peso);
        cont=cont+peso;
    }
    cont=cont+peso;
    printf(" O peso medio dos alunos e: %f\n", media);
    printf(" Alunos com peso entre 50 e 60 kg e: %f\n", cont);
    return 0;
}

 

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

@Mac Ramos      para postar seu código é melhor usar o botão  <>   que está lá na barra de ferramentas da janela de responder, pois como você não à usou, seu código ficou faltando alguns caracteres, como os  [ i ] , com isso seu código apresenta erro de compilação, então acertei ele e vi que esse for não está funcionando desse jeito, o melhor seria você colocar do modo normal e usar o comando if para ver os pesos entre 50 e 60 ,  então seu código com algumas modificações ficaria assim :

#include<stdio.h>
#include<stdlib.h>
#define N 3
int main()
{
    int i ;
    float peso[N], media=0.0, cont=0;
    for(i=0;i<N;i++)
    {
        printf(" Digite o peso do aluno %d:",i+1);
        scanf("%f",&peso[i]);
        media += peso[i];
    }
    media = media/N;
    for(i=0;i<N;i++)
        if(peso[i]>49&&peso[i]<61)
            cont += peso[i];

    printf(" O peso medio dos alunos e: %.2f\n",media);
    for(i=0;i<N;i++)
        if(peso[i]>49&&peso[i]<61)
            printf(" Alunos com peso entre 50 e 60 kg e: %.2f\n",cont);
    return 0;
}

 

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

  • Membro VIP

Olá @Mac Ramos. Seja bem vindo ao Fórum do Clube do Hardware.

 

Vamos lá:

 

1) INÍCIO DE SEQUÊNCIA NUMÉRICA

No C, por padrão, os vetores começam com 0, mas para o "usuário" que está utilizando o programa, a sequência começa com 1. Resumindo: use i+1.

 

Algo como:

printf(" Digite o peso do aluno %d:", i+1);

 

 

2) SEGUIR O ENUNCIADO

Em relação a sua dúvida:

13 horas atrás, Mac Ramos disse:

[...] agora a parte que pede para pegar os pesos entre 50 a 60 não estou acertar

 

A primeira coisa que precisamos focar e entender o que se precisa ser feito. Em particularmente não entendi muito bem ainda... pelo que foi citado:

12 horas atrás, Mac Ramos disse:

selecionar dos vetores inseridos, desculpe a formulação.

 

O que seria "selecionar dos vetores"? [1] seria "contar" quantos pesos estão nessa faixa"? ou [2] seria a soma dos pesos que estão nessa faixa? ou [3] seria "exibir os pesos acima da faixa"? [4] ou seria alguma outra coisa? ou seja, antes de qualquer coisa, é necessário entender o que se precisa, pois, caso contrário, poderá está "tentando fazer certo algo errado". Fazendo uma analogia, seria como fazer uma encomenda de um bolo de chocolate, e a padaria te entregar um delicioso bolo de morando... tá, o bolo está bom, mas não foi o que pediu... entende?

 

Então, se for o 1, você pode usar uma estrutura de seleção para verificar cada posição do vetor... se o peso estiver na faixa, incrementa em 1 um contador. Após exibe o contador, que terá a "quantidade de números da faixa";

 

Se for o 2, você pode usar uma estrutura de seleção para verificar cada posição do vetor... se  o peso estiver na faixa, vai "acumulando" o peso numa variável. Após exibe o "acumulador", que terá a "soma dos pesos que estão nessa faixa";

 

Se for o 3, você pode usar uma estrutura de seleção para verificar cada posição do vetor... se o peso estiver na faixa, exibe o peso na tela;

 

Se for o 4, precisa explica o que seria... :)

 

 

 

3) SELEÇÃO DA FAIXA

Só um detalhe:

 

Tendo o enunciado dizendo:

13 horas atrás, Mac Ramos disse:

entre 50 a 60

É necessário entender o que significa "entre", ou seja, se o 50 e 60 estão contidos na conta ou não...

 

Se estiver incluído, seria mais ou menos o que @devair1010 citou:

12 horas atrás, devair1010 disse:

if(peso[i]>49&&peso[i]<61)

 

Só tem um detalhe que tecnicamente seria algo como:

if (peso[i]>=50 && peso[i]<=60)

Tem diferença... ;)

 

 

Caso não inclua:

if (peso[i]>50 && peso[i]<60)

Ou seja, seria de 50.000...0001 pra cima e analogamente para o 60.

 

RESUMINDO:

Por favor, nos confirme o que de fato precisa ser feito... daí, tenta implementar o algoritmo... posta o código aqui para analisarmos e, se for o caso, onde está com dúvidas.

 

 

No aguardo

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

Em 01/03/2018 às 20:17, Mac Ramos disse:

selecionar dos vetores inseridos, desculpe a formulação.

Sim, cuide aproveitar as dicas que @Simon Viegas @devair1010 lhe propuseram pois essas já resolvem o problema. Como desafio  proponho resolver sem armazenar as notas pesos, que de fato, não é necessário porque apenas os consolidados: média total e quantidade de alunos são necessários. Daí imagine que não existe vetores ou quaisquer forma de armazenamento em lista, tais informações só poderiam ser processadas no ato da entrada pelo usuário. Caso o exercício seja exclusivo para vetores, então me ignore, se não então resolva com essa estratégia para economizar em código, memória e procedimentos.

 

Observei que você meio que fez isso aqui com média.

Em 01/03/2018 às 19:42, Mac Ramos disse:

for i0Ni++ ) {

 

           printf(" Digite o peso do aluno %d:", i);

           scanf("%f",&peso);

           media = media+peso;

 

           }

 

:thumbsup:

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

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!