#include <iostream>
#include <ctime>
#include <cstdlib>
#include<time>
using namespace std;
typedef double angle;
struct Cscan {
angle lockaz, lockel;
};
bool equal_in_margin(angle theta, angle phi, angle margin)
{
return (theta > phi-margin && theta < phi+margin);
}
#define TRAVERSE_SYM_RIGHTANGLE(phi) \
for ( angle phi = -45; phi < 45; phi += 4 )
int lock_k // better give this a more descriptive name
( const Cscan& BS1, const Cscan& BS2, int k )
{
TRAVERSE_SYM_RIGHTANGLE(az1) {
TRAVERSE_SYM_RIGHTANGLE(el1) {
TRAVERSE_SYM_RIGHTANGLE(az2) {
TRAVERSE_SYM_RIGHTANGLE(el2) {
if( equal_in_margin( az1, BS1.lockaz, 6 )
&& equal_in_margin( el1, BS1.lockel, 6)
&& equal_in_margin( az2, BS2.lockaz, 6 )
&& equal_in_margin( el2, BS2.lockel, 6 ) ) {
std::cout << "locked \n" << BS1.lockaz << " " << BS1.lockel << " " << BS2.lockaz << " " << BS2.lockel << '\n'
<< az1 << " " << el1 << " " << az2 << " " << el2 << std::endl;
return 1;
}
}
}
}
}
}
int main()
{
srand (time(NULL));
int az1, az2, el1, el2, j, k;
Cscan BS1, BS2;
BS1.lockaz = rand() % 91 - 45;
BS1.lockel = rand() % 91 - 45;
BS2.lockaz = rand() % 91 - 45;
BS2.lockel = rand() % 91 - 45;
lock_k(BS1, BS2, k);
_getch();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZTx0aW1lPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKICB0eXBlZGVmIGRvdWJsZSBhbmdsZTsKCnN0cnVjdCBDc2NhbiB7IAogIGFuZ2xlIGxvY2theiwgbG9ja2VsOwp9OwoKYm9vbCBlcXVhbF9pbl9tYXJnaW4oYW5nbGUgdGhldGEsIGFuZ2xlIHBoaSwgYW5nbGUgbWFyZ2luKQp7CiAgcmV0dXJuICh0aGV0YSA+IHBoaS1tYXJnaW4gJiYgdGhldGEgPCBwaGkrbWFyZ2luKTsKfQoKI2RlZmluZSBUUkFWRVJTRV9TWU1fUklHSFRBTkdMRShwaGkpIFwKICBmb3IgKCBhbmdsZSBwaGkgPSAtNDU7IHBoaSA8IDQ1OyBwaGkgKz0gNCApCiAKaW50IGxvY2tfayAgLy8gYmV0dGVyIGdpdmUgdGhpcyBhIG1vcmUgZGVzY3JpcHRpdmUgbmFtZQogICAgICAoIGNvbnN0IENzY2FuJiBCUzEsIGNvbnN0IENzY2FuJiBCUzIsIGludCBrICkgCnsKICBUUkFWRVJTRV9TWU1fUklHSFRBTkdMRShhejEpIHsKICAgIFRSQVZFUlNFX1NZTV9SSUdIVEFOR0xFKGVsMSkgewogICAgICBUUkFWRVJTRV9TWU1fUklHSFRBTkdMRShhejIpIHsKICAgICAgICBUUkFWRVJTRV9TWU1fUklHSFRBTkdMRShlbDIpIHsKICAgICAgICAgIGlmKCBlcXVhbF9pbl9tYXJnaW4oIGF6MSwgQlMxLmxvY2theiwgNiApCiAgICAgICAgICAgICAgICYmIGVxdWFsX2luX21hcmdpbiggZWwxLCBCUzEubG9ja2VsLCA2KQogICAgICAgICAgICAgICAmJiBlcXVhbF9pbl9tYXJnaW4oIGF6MiwgQlMyLmxvY2theiwgNiApCiAgICAgICAgICAgICAgICYmIGVxdWFsX2luX21hcmdpbiggZWwyLCBCUzIubG9ja2VsLCA2ICkgKSB7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAibG9ja2VkIFxuIiA8PCBCUzEubG9ja2F6IDw8ICIgIiA8PCBCUzEubG9ja2VsIDw8ICIgIiA8PCBCUzIubG9ja2F6IDw8ICIgIiA8PCBCUzIubG9ja2VsIDw8ICdcbicKICAgICAgICAgICAgICAgPDwgYXoxIDw8ICIgIiA8PCBlbDEgPDwgIiAiIDw8IGF6MiA8PCAiICIgPDwgZWwyIDw8IHN0ZDo6ZW5kbDsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfSAgIAp9CgogIGludCBtYWluKCkKICB7CiAgICAgc3JhbmQgKHRpbWUoTlVMTCkpOwogICAgaW50IGF6MSwgYXoyLCBlbDEsIGVsMiwgaiwgazsKCiAgICBDc2NhbiBCUzEsIEJTMjsKCiAgIEJTMS5sb2NrYXogPSByYW5kKCkgJSA5MSAtIDQ1OwogICBCUzEubG9ja2VsID0gcmFuZCgpICUgOTEgLSA0NTsKICAgQlMyLmxvY2theiA9IHJhbmQoKSAlIDkxIC0gNDU7CiAgIEJTMi5sb2NrZWwgPSByYW5kKCkgJSA5MSAtIDQ1OwoKICAgbG9ja19rKEJTMSwgQlMyLCBrKTsKICBfZ2V0Y2goKTsKICAgcmV0dXJuIDA7CiAgfQ==
prog.cpp:4:15: error: time: No such file or directory
prog.cpp: In function ‘int main()’:
prog.cpp:55: error: ‘_getch’ was not declared in this scope
prog.cpp:45: warning: unused variable ‘az1’
prog.cpp:45: warning: unused variable ‘az2’
prog.cpp:45: warning: unused variable ‘el1’
prog.cpp:45: warning: unused variable ‘el2’
prog.cpp:45: warning: unused variable ‘j’