O algoritmo abaixo pedi ao usuário a quantidade de dias que deseja cadastrar, e em seguida as temperaturas dos respectivos dias, apos a leitura mostrar: "Temperatura dia 1 = 40, clima acima do normal " e "Temperatura dia 2 = 31, clima normal", o programa deve testar se há memoria disponível para alocação e libera-la apos o seu uso.
Veja o código já pronto, caso encontrem erros é só comentar abaixo.
#include <stdio.h>
#include <stdlib.h>#include <conio.h>
//By Edimael Freire
main(){
int n; // variavel para receber a quantidades de dias a serem cadastradas
int *temp; // para utilizarmos na alocação
int *cont; // ponteiro contador
printf("\nQuantos dias deseja cadastrar? ");
scanf("%d",&n);
temp = (int *)malloc( (n) * sizeof(int) );//aloca e testa se ha memoria livre
if( temp == NULL){
printf("\nErro na reserva da memoria");
}//fim do if
else {
cont = temp;
for(int i = 0; i < n;i++){//bloco de leitura
printf("Temperatura do dia %d:",i+1);
scanf("%d",cont);
cont = cont +1;
}//fim do for
}//fim do else
cont = temp;
printf("\n\n");//dar espaco entre o bloco de letura e o de vizualização
//mostra os dados lidos
for(int i = 0; i <n;i++){
if (*cont >= 40 ){
printf("Temperatura do dia %d e %d clima ACIMA DO NORMAL\n", i+1,*cont);
cont = cont+1;
}//fim do if
else{
printf("Temperatura do dia %d e %d clima NORMAL\n", i+1,*cont);
cont = cont+1;
}//fim o else
free(temp); // liberar memoria alocada
}
system("\nPAUSE>NULL");//da pause no siatema e não mosta a menssagem para continuar
}//fim do main

para a gente, da manha caiu a mesma questão.
ResponderExcluir