int main() { //mq_unlink("/sensor"); //mq_unlink("/actuator"); CLogger().setStream(std::cout); Sensor sen("/sensor", 0u, 0u); Actuator act("/actuator", sizeof(int), 10u); sen.join(); act.join(); CSmartPtr<FOO> a; { CSmartPtr<FOO> b; { CSmartPtr<FOO> c(new FOO); a = c; b = a; c->foo(); a->foo(); b->foo(); } a->foo(); b->foo(); } a->foo(); return 0; }
int main(){ float angulo, velocidadeInicial, distancia, espessura, altura, momento1, momento2, alturaProjetil1, alturaProjetil2; unsigned short int colidiu; /* obtencao dos dados */ printf("Angulo de lancamento: "); scanf("%f", &angulo); limpa_entrada(); printf("Velocidade inicial (m/s): "); scanf("%f", &velocidadeInicial); limpa_entrada(); printf("Distancia do objeto (m): "); scanf("%f", &distancia); limpa_entrada(); printf("Espessura do objeto (m): "); scanf("%f", &espessura); limpa_entrada(); printf("Altura do objeto (m): "); scanf("%f", &altura); limpa_entrada(); /* calculo dos instantes em que o projetil passa pelos limites do objeto */ momento1 = distancia/(velocidadeInicial * cos(angulo * 3.1415/180)); momento2 = (distancia + espessura)/ (velocidadeInicial * cos(angulo * 3.1415/180)); /* calculo da altura do projetil nos dois instantes */ alturaProjetil1 = velocidadeInicial * sen(angulo * 3.1415/180) * momento1 - 9.8 * pot(momento1, 2)/2; alturaProjetil2 = velocidadeInicial * sen(angulo * 3.1415/180) * momento1 - 9.8 * pot(momento1, 2)/2; /* verificacao da colisao */ colidiu = alturaProjetil1 <= altura && alturaProjetil1 > 0 || alturaProjetil2 <= altura && alturaProjetil2 > 0; /* resultado */ printf("Houve colisao? %d\n", colidiu); return 0; }