ScolokD2 0 Posted October 8, 2020 Share Posted October 8, 2020 (edited) #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? Edited October 8, 2020 by ScolokD2 Quote Link to post Share on other sites
SirFeliX 0 Posted October 8, 2020 Share Posted October 8, 2020 (edited) #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? } Edited October 8, 2020 by SirFeliX Quote Link to post Share on other sites
ScolokD2 0 Posted October 8, 2020 Author Share Posted October 8, 2020 (edited) 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++ Edited October 8, 2020 by ScolokD2 Quote Link to post Share on other sites
ScolokD2 0 Posted October 8, 2020 Author Share Posted October 8, 2020 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; } } Quote Link to post Share on other sites
Administradores Fernando Mercês 0 Posted October 9, 2020 Administradores Share Posted October 9, 2020 Você pode fazer outro loop pra informar quais meses possuem uma temperatura acima da média. ? Quote Link to post Share on other sites
SirFeliX 0 Posted October 9, 2020 Share Posted October 9, 2020 (edited) #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; } } Edited October 9, 2020 by SirFeliX Quote Link to post Share on other sites
ScolokD2 0 Posted October 9, 2020 Author Share Posted October 9, 2020 nao sei como faze-lo, pois tem que trocar o nome do mes e tambem a temperatura de cada Quote Link to post Share on other sites
ScolokD2 0 Posted October 9, 2020 Author Share Posted October 9, 2020 muito obrigado camarada, eu tinha conseguido concertar ontem, fiz bem nesse nype, mas um pouco maior, vou tentar usar a base da ultima parte do seu codigo, mto obrigado Quote Link to post Share on other sites
Administradores Fernando Mercês 0 Posted October 9, 2020 Administradores Share Posted October 9, 2020 É 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. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.