*_*

quinta-feira, 14 de junho de 2012

Prova Facape Linguagem C, 2ª Prova 2ª Unidade (Alocação Dinâmica)


Questão Facape 2012/1, 2ª Prova da Segunda Unidade.
Alocação Dinâmica
Ler várias temperaturas (int), o usuário irá informar quantas temperaturas, depois que ler mostrar as temperaturas se for maior que 40º dizer Temperatura Acima do Normal se estiver menor dizer Temperatura Normal.
sair do programa quando o usuário digitar 0.
 


#include <stdio.h>
#include <stdlib.h>
int main(){
 int *temp,*cont; //temp é a âncora e cont servirá para percorrer a memoria.
 int qtd,i;
     printf("Informe a Qtd de Temperaturas ou 0 para Sair: ");
     scanf("%d",&qtd);
     while(qtd!=0){
        if( (temp=(int *)malloc(qtd* sizeof(int))) ){  //aloca, caso consiga entra na condição.
        cont=temp; //guarda o endereço inicial de memoria em cont
        for(i=0;i<qtd;i++){
            printf("[%d] Informe Temperatura: ",i+1);
            scanf("%d",cont);
            cont++; //incremento do cont vai para a prox posição de memoria
        }

        cont=temp; 
        for(i=0;i<qtd;i++){            
            if(*cont>=40) printf("\nTemperatura Acima do Normal %d", *cont);
            else printf("\nTemperatura Normal %d", *cont);
            cont++;
        }
        free(temp); //desaloca
        printf("\nInforme a Qtd de Temperaturas ou 0 para Sair: ");
        scanf("%d",&qtd);
        }    
    }
return 0;
}

Categories: , ,

0 comentários:

Postar um comentário