Ajuda em c

1 resposta
B

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:

<em><strong>Elabore um programa que calcula a temperatura média nos dias de uma semana. No final do processamento o programa</strong></em>

<em><strong>deve apresentar a temperatura média de cada dia e a temperatura média da semana;</strong></em>

<em><strong>considerações: i) semana tem 7 dias e os dias tem 24 horas;</strong></em>

<em><strong>ii) temperatura diária varia de 5 oC a 35 oC;</strong></em>

<em><strong>iii) as temperaturas de cada hora são geradas randomicamente;</strong></em>

#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(dias<em>sizeof(int</em>));//verificacao

if (temp!=NULL)

{

for (i=0;i<dias;i++)

{

temp[i]=malloc(horas*sizeof(int));

if (temp[i]==NULL)

{

break;

}

for(j=0;j<horas;j++)

{

temp[i][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[i][j];

}

media/=horas;

printf("%8s:  %.1f%cC\n",Dias[i],media,248);

msem+=media;
}
}

printf(temp media semanal:%.1f %cC\n,msem/dias,248);

for (i=0;i<dias;i++)

{

free(temp[i]);

}
free(temp);

media=0;
return 0;

}

1 Resposta

javaflex

No título você colocou C#, nem todo mundo que for de C vai entrar no seu tópico pois a questão não é sobre C#.

Criado 24 de maio de 2018
Ultima resposta 24 de mai. de 2018
Respostas 1
Participantes 2