Bom dia galera, meu professor deu uma programação e disse que tem uma falha na locação de memoria, sendo assim tem uma forma mais correta de construir tal programação, se alguém conseguir me ajudar a solucionar esse problema, segue a programação e a questão:
Elabore um programa que calcula a temperatura média nos dias de uma semana. No final do processamento o programa deve apresentar a temperatura média de cada dia e a temperatura média da semana; considerações: i) semana tem 7 dias e os dias tem 24 horas; ii) temperatura diária varia de 5 oC a 35 oC; iii) as temperaturas de cada hora são geradas randomicamente;
int**GoraTempSemana ()
{
int **temp,i,j=0;
srand(time(NULL));
temp=malloc(diassizeof(int));//verificacao
if (temp!=NULL)
{
for (i=0;i<dias;i++)
{
temp=malloc(horas*sizeof(int));
if (temp==NULL)
{
break;
}
for(j=0;j<horas;j++)
{
temp[j]=5+rand()%31;
}
{}}
if (temp==NULL||i<dias)
printf(“falha alocacao memoria”);
}
return temp;
}
int main()//falha de locacao de memoria. Como resolver o erro da programacao
{ int i,j;
float media,msem;
int **temp;
char Dias[dias][8]={“domingo”,“segunda”,“terca”,“quarta”,“quinta”,“sexta”,“sabado”};
temp= GoraTempSemana();
if (temp!=NULL)
{
printf(“temperaturas medias diarias:\n”);
for (i=msem=0;i<dias;i++)
{
for (j=msem=0;j<horas;j++)
{
media +=temp[j];
}
media/=horas;
printf("%8s: %.1f%cC\n",Dias,media,248);
msem+=media;
}}
printf(“temp media semanal:%.1f %cC\n”,msem/dias,248);
for (i=0;i<dias;i++)
{
free (temp);
}
Pergunta
batpam
Bom dia galera, meu professor deu uma programação e disse que tem uma falha na locação de memoria, sendo assim tem uma forma mais correta de construir tal programação, se alguém conseguir me ajudar a solucionar esse problema, segue a programação e a questão:
Elabore um programa que calcula a temperatura média nos dias de uma semana. No final do processamento o programa
deve apresentar a temperatura média de cada dia e a temperatura média da semana;
considerações: i) semana tem 7 dias e os dias tem 24 horas;
ii) temperatura diária varia de 5 oC a 35 oC;
iii) as temperaturas de cada hora são geradas randomicamente;
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define dias 7
#define horas 24
int**GoraTempSemana ()
{
int **temp,i,j=0;
srand(time(NULL));
temp=malloc(diassizeof(int));//verificacao
if (temp!=NULL)
{
for (i=0;i<dias;i++)
{
temp=malloc(horas*sizeof(int));
if (temp==NULL)
{
break;
}
for(j=0;j<horas;j++)
{
temp[j]=5+rand()%31;
}
{}}
if (temp==NULL||i<dias)
printf(“falha alocacao memoria”);
}
return temp;
}
int main()//falha de locacao de memoria. Como resolver o erro da programacao
{ int i,j;
float media,msem;
int **temp;
char Dias[dias][8]={“domingo”,“segunda”,“terca”,“quarta”,“quinta”,“sexta”,“sabado”};
temp= GoraTempSemana();
if (temp!=NULL)
{
printf(“temperaturas medias diarias:\n”);
for (i=msem=0;i<dias;i++)
{
for (j=msem=0;j<horas;j++)
{
media +=temp[j];
}
media/=horas;
printf("%8s: %.1f%cC\n",Dias,media,248);
msem+=media;
}}
printf(“temp media semanal:%.1f %cC\n”,msem/dias,248);
for (i=0;i<dias;i++)
{
free (temp);
}
free(temp);media=0;
return 0;
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.