segunda-feira, 2 de maio de 2011

Implementação de Contêineres !

#include <stdio.h>
#include <stdlib.h>
struct sdimencion
{
    unsigned int a,b,c;
};
typedef struct sdimencion dimencion;
dimencion verif_entrada(dimencion entrada)
{
    do
        scanf("%u %u %u", &entrada.a,&entrada.b,&entrada.c);
    while(((entrada.a>1e6)||(entrada.b>1e6)||(entrada.c>1e6))||((entrada.a<1)||(entrada.b<1)||(entrada.c<1)));
    return entrada;
}
unsigned int cabem(dimencion conteineres, dimencion navio)
{
    unsigned int retorno;
    if(((navio.a/conteineres.a)*(navio.b/conteineres.b)*(navio.c/conteineres.c))>1e6)
        return 1e6;
    else
        return retorno=((navio.a/conteineres.a)*(navio.b/conteineres.b)*(navio.c/conteineres.c));
}
int main()
{
    dimencion conteineres,navio;
    unsigned int n_conteineres;
    conteineres=verif_entrada(conteineres);
    navio=verif_entrada(navio);
    n_conteineres=cabem(conteineres,navio);
    printf("%u\n",n_conteineres);
    return 0;
}

Implementação de Bússola !

include<stdio.h>
#include<stdlib.h>
struct sbussola
{
    unsigned int hora,minuto,angulo;
};
typedef struct sbussola sbus;
hora12(int h)
{
    if(h>=12)
        h=h-12;
    return h;
}
int abs( int x )
{
    if( x < 0 )
        return -x;
}
numeroT(unsigned int nteste)
{
    int ok=0;
    char strteste[3];
    do
        scanf("%u", &nteste);
    while((nteste>50)||(nteste<1));
    return nteste;
}
Ebussola (unsigned int nteste, sbus bussola[])
{
    int i;
    for(i=0; i<nteste; i++)
    {
        do
            scanf("%u %u", &bussola[i].hora,&bussola[i].minuto);
        while(((bussola[i].hora>23)||(bussola[i].hora<0))||((bussola[i].minuto>59)||(bussola[i].minuto<0)));
        bussola[i].hora= hora12(bussola[i].hora);
        bussola[i].angulo=abs(bussola[i].minuto-(bussola[i].hora*5));
        if(bussola[i].angulo>30)
            bussola[i].angulo=(60-bussola[i].angulo);
        bussola[i].angulo=(bussola[i].angulo*6);
    }
}
saida(unsigned int Nentrada,sbus angulos[])
{
    unsigned int j;
    for(j=0; j<Nentrada; j++)
        printf("%u\n",(angulos[j].angulo));
}
int main (void)
{
    unsigned int nteste;
    sbus bussola[50];
    nteste=numeroT(nteste);
    Ebussola(nteste,bussola);
    saida(nteste,bussola);
    return 0;
}
Dos exercícios propostos já foram desenvolvidos o da Bússola e o do Contêineres !

Exercícios do PIC !


Exercícios do PIC !


Exercícios do PIC !