Ir para conteúdo

Media de temperatura dos meses


ScolokD2

Posts Recomendados

#include <math.h>
#include<iostream>
#include<string>

using namespace std;
 
 int main(){
     string mes[12];
     float temp[12];
     float media ;
    int a,b;
     
     for(a=0;a<2;a++){
         cout<<"digite o  Mes que gostaria de usar :  "<<a+1<<endl;
         cin>>mes[a];
     
         for(b=0;b<1;b++){
             cout<<"Qual a temperatura dele?  "<<b+1;
             cin>>temp;
             
             media += temp;
         }
        
     
     }
    for(a=0;a<2;a++){
        cout<<mes[a]<<"TEVE A TEMPERATURA DE "<<temp<<a+1<<endl;
        
    }

 

 

ALGUEM PODE ME AJUDAR A FAZER A MEDIA DA TEMPERATURA DOS MESES E PRINTAR O NOME DOS MESES QUE ESTEJAM ACIMA DA TEMPERATURA?
     

Link para o comentário
Compartilhar em outros sites

#include <math.h>
#include<iostream>
#include<string>

using namespace std;
 
 int main(){
     string mes[12];
     float temp[12];
     float media ;
    int a,b;
     
     for(a=0;a<2;a++){                                                                                         // Por que o for vai até < 2? não deveria ser < 12?
         cout<<"digite o  Mes que gostaria de usar :  "<<a+1<<endl;    // Não entendi mt bem essa msg, mes que eu gostaria de usar?
         cin>>mes[a];                                                                                                                                                                                                                              


         for(b=0;b<1;b++){                                                                                     // porq você utiliza um for que só vai rodar 1 vez?
             cout<<"Qual a temperatura dele?  "<<b+1;                                // temperado do mes que digitei antes?
             cin>>temp;                                                                                             // aqui você deveria ter especificado a posição em que vc vai armazenas a temperatura, talvez temp[a] ?.
             
             media += temp;                                                                                    // você não inicializou a variavel media, o que garante que já não exista um valor nela?
         }                                                                                                                     // é necessario divider media/meses lidos, ainda não entendi se vc vai ler todos os 12 meses ou só alguns.
        
     
     }
    for(a=0;a<2;a++){                                                                                                      //porq até seja menor que 2? não deveria ser 12?
        cout<<mes[a]<<"TEVE A TEMPERATURA DE "<<temp<<a+1<<endl;   // você não tinha que verificar quais meses estão acima da media antes de imprimir?
        
    }

 

Link para o comentário
Compartilhar em outros sites

entao, eu fui testando e so consegui chegar em um resultado meio certo assim

// Por que o for vai até < 2? não deveria ser < 12? 

R: pois estava fazendo testes e com o numero 12 ficava muito repetitivo e cansativo

// Não entendi mt bem essa msg, mes que eu gostaria de usar?

R: pq eu preciso linkar o mes a sua temperatura, ai a pessoa pode querer botar janeiro, março, fevereiro, mesmo que pra testar o programa

 // porq você utiliza um for que só vai rodar 1 vez?

R: realmente... n me recordo pq usei isso mas acho que e realmente desnecessario

 // temperado do mes que digitei antes?

R: isso, para linkar um mes a sua determinada temperatura

// aqui você deveria ter especificado a posição em que vc vai armazenas a temperatura, talvez temp[a] ?.

 

R: entao, n conheço muito bem de C++, ent n sei bem desses comandos

 // você não inicializou a variavel media, o que garante que já não exista um valor nela?

R: o "float media" n conta como variavel?

// é necessario divider media/meses lidos, ainda não entendi se vc vai ler todos os 12 meses ou só alguns.

R: serao todos os meses mesmo

   //porq até seja menor que 2? não deveria ser 12?

R: esse era um teste, mas o valor original era de 12 mesmo

  // você não tinha que verificar quais meses estão acima da media antes de imprimir?
        R: sim, porem nao sei como fazer isso ainda

 

 

Então, preciso de um programa  que receba a temperatura média de cada mês do ano e armazene-as em um vetor. e dps, calcule a média anual das temperaturas e mostre todas as temperaturas acima da média anual, e em que mês elas ocorreram

e nao to fazendo ideia de como linkar o mes e a temperatura, e dps filtrar para ver qual os que ficaram acima da media

se alguem puder me ajudar a arrumar esse programa... agradeço

 

C++

 

 

 

Link para o comentário
Compartilhar em outros sites

bem, fiz um "post" anteriormente com um progra

ma bem cheio de erros, mas fiz esse aqui que funciona como eu quero, gostaria apenas de "simplificar" ele, tipo diminuir 

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

using namespace std;
 
 int main(){
     string meses[12]={"janeiro", "fevereiro", "marco", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro" ,"dezembro"};
     float temperatura[12];
     float media,somatoria;
     int i;
     
     
     for (i=0;i<12;i++){
     
        cout<<"Insira a temperatura dos meses  (janeiro a dezembro na sequencia certa!!) :  "<<i+1<<endl;
         cin>>temperatura;
         somatoria += temperatura;

     }
     media = somatoria/12;
     cout<<"A media e : "<<media<<endl;
     
    if (temperatura[0]>=media){
        cout<<meses[0]<<" esta acima da media (/-_-/)"<<endl;
         }
    
    if (temperatura[1]>=media){
        cout<<meses[1]<<" esta acima da media (/-_-/)"<<endl;
        }
    
    if (temperatura[2]>=media){
        cout<<meses[2]<<" esta acima da media (/-_-/)"<<endl;
         }

    if (temperatura[3]>=media){
        cout<<meses[3]<<" esta acima da media (/-_-/)"<<endl;
         }

    if (temperatura[4]>=media){
        cout<<meses[4]<<" esta acima da media (/-_-/)"<<endl;
         }

    if (temperatura[5]>=media){
        cout<<meses[5]<<" esta acima da media (/-_-/)"<<endl;
        }
    
    if (temperatura[7]>=media){
        cout<<meses[7]<<" esta acima da media (/-_-/)"<<endl;
         }

    if (temperatura[8]>=media){
        cout<<meses[8]<<" esta acima da media (/-_-/)"<<endl;
         }

    if (temperatura[9]>=media){
        cout<<meses[9]<<" esta acima da media (/-_-/)"<<endl;
         }

    if (temperatura[10]>=media){
        cout<<meses[10]<<" esta acima da media (/-_-/)"<<endl;
         }
    
    if (temperatura[11]>=media){
        cout<<meses[11]<<" esta acima da media (/-_-/)"<<endl;
         }
    
    if (temperatura[12]>=media){
        cout<<meses[12]<<" esta acima da media (/-_-/)"<<endl;
         }
     
 
}
 

Link para o comentário
Compartilhar em outros sites

#include <math.h>
#include<iostream>
#include<string>
 
using namespace std;
 
int main(){
    string meses[12]={"janeiro", "fevereiro", "marco", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro" ,"dezembro"};
    float temp[12]; //crio um array de float que armazena o valor da temp
    float media = 0; // inicializo a variavel media com valor 0
    int a;
 
    for(a=0;a<12;a++){ // percorro os 12 meses
        cout<<"Digite a temperatura do mes de "<< meses[a] << " : ";
        cin>>temp[a]; //leio a temperatura e armazeno no array
 
        media += temp[a]; // somo a temperatura lida a variavel média
 
    }
 
    media = media / 12; // divido a média por 12 (numero total de meses)
 
    cout << "A temperatua média é : " << media << endl; // imprimo valor da média
    for(a=0;a<12;a++){ // percorro todos os meses
        if(temp[a] > media) // se a temp do mes for maior que a media imprime.
            cout<<"O mes de " << meses[a] <<" teve a temperatura de "<< temp[a]<<endl;
    }
}
 
Link para o comentário
Compartilhar em outros sites

É exatamente como o outro loop, mas você usa temperatura para acessar a posição i do array. Ou seja, na primeira iteração, quando i==0, será array[0]. Na segunda, quando i==1, será array[1] e assim por diante.

	for (int i=0; i<12; i++) {
		if (temperatura[i] >= media)
			cout << "Temperatura de " << meses[i] << "está acima da média" << endl;
	}

Mas tem outro ajuste: no seu primeiro loop você fica somando a temperatura na média, mas não armazena o valor dela no array temperatura. Tem que armazenar, usando temperatura também.

O esquema é:

  • Um loop para pegar as temperaturas (preencher o array temperaturas).
  • O cálculo da média (fora do loop).
  • Um loop para dizer quais meses possuem temperaturas acima da média.

Abraço!

PS: Uni os tópicos que eram sobre o mesmo assunto.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...