int main(void) { int klawisz, dlugosc[2]; int wektor1[] = {1, 2, 3, 4, 5}; int wektor2[] = {10, 20, 30, 40, 50}; do { printf("\nWybierz operacje na wektorach:\n 1 - odleglosc\n 2 - normy\n 3 - suma\n 4 - roznica\n\nPodaj cyfre: "); scanf("%d",&klawisz); if((klawisz != 1) || (klawisz != 2) || (klawisz != 3) || (klawisz != 4)) continue; } while((klawisz != 1) && (klawisz != 2) && (klawisz != 3) && (klawisz != 4)); dlugosc[0] = sizeof wektor1/sizeof(int); dlugosc[1] = sizeof wektor2/sizeof(int); switch(klawisz) { case 1: odleglosc(wektor1, wektor2, dlugosc[0], dlugosc[1]); break; case 2: normy(wektor1, wektor2, dlugosc[0], dlugosc[1]); break; case 3: suma(wektor1, wektor2, dlugosc[0], dlugosc[1]); break; case 4: roznica(wektor1, wektor2, dlugosc[0], dlugosc[1]); break; } system("pause"); }
int main(){ struct punkt p={1, -1}; struct punkt q={2, 3}; struct prostokat r; r.p1.x = 1; r.p1.y = 1; r.p2.x = 4; r.p2.y = 4; //r.p1.x = 18; //r.p2.y = 31; printf("%lf\n", odleglosc(p, q)); printf("%d\n", spr(r, q)); }
void Kolo::mousePressed(int x, int y, int button){ if (z_osu==1 && menu == 0 && kolka.size()!=0 && odleglosc(kolka[0]->xCircle, kolka[0]->yCircle, x, y) <= kolka[0]->promien)//0 wymusza klikanie w kolejności { kolka.erase(kolka.begin()); wynik++; } else if (menu == 0) { if(wynik) wynik--; } }
void Kolo::update() { if (z_osu==1 && menu==0){ if ((j + rozmiar) < tab->wielkoscListy) { for (i = 0; i < rozmiar; i++) { test[i].real(tab->pobierzElement()); test[i].imag(0); } fftPoprzednie = fftAktualne; fftAktualne = fft2(test); do { czasp = czas; czas = song.getPositionMS(); if (czasp > czas) menu=5;//ofExit(); } while (czasp == czas); } else { menu=5; //ofExit(); } j += rozmiar; (fftAktualne<fftPoprzednie)? roznica=TRUE :NULL ; if(!proba) { roznica=FALSE; } if (((fftAktualne - fftPoprzednie) > prog) /*&& (bazax.size() < MAX_KOL)*/)//dodawanie nowego kolka jeøeli rÛønica > prÛg { // if (bazax.empty() || (opoznienie <= 0))//jeøeli jest wiÍcej niø MAX_KOL to nie dodaje proba=(kolka.empty() || ((kolka.back()->promien)<=MIN_OGRANICZENIE));// && roznica==TRUE) ); //roznica porownuje fftaktualne z fftpoprzednie - zeby nie tworzyl nowej nutki, jesli dzwiek tylko wzrasta - np jakas dluzsza nuta - trzeba ocenic jak to lapie i ewentualnie wrocic do opoznienie //majac ta roznice wlasciwie nie korzystam z MAX_KOL - w spadajacych kolkach //osu jest bez zmian if (proba) { Kolo * nowe_kolo = new Kolo; nowe_kolo->xCircle = (int)fftAktualne % (1024 - 2 * PROMIEN) + PROMIEN; nowe_kolo->yCircle = (int)fftAktualne % (768 - 2 * PROMIEN) + PROMIEN; if (kolka.size() > 0) { // cout << "jestem tu 1" << endl; while (odleglosc(nowe_kolo->xCircle, nowe_kolo->yCircle, kolka.back()->xCircle, kolka.back()->yCircle) < 2 * PROMIEN) { // cout << "jestem tu 2" << endl; if (static_cast<float>(odleglosc(nowe_kolo->xCircle, 0, kolka.back()->xCircle, 0)) < 1.5 * static_cast<float>( PROMIEN)) { // cout << "jestem tu 3" << endl; if (kolka.back()->xCircle < 700) nowe_kolo->xCircle += 30; else nowe_kolo->xCircle -= 30; } else if (static_cast<float>(odleglosc(0, nowe_kolo->yCircle, 0, kolka.back()->yCircle)) < 1.5 * static_cast<float>( PROMIEN)) { // cout << "jestem tu 4" << endl; if (kolka.back()->yCircle < 500) nowe_kolo->yCircle += 30; else nowe_kolo->yCircle -= 30; } } while (odleglosc(nowe_kolo->xCircle, nowe_kolo->yCircle, kolka.back()->xCircle, kolka.back()->yCircle) > 4 * PROMIEN) { // cout << "jestem tu 20 " << endl; if (static_cast<float>(odleglosc(nowe_kolo->xCircle, 0, kolka.back()->xCircle, 0)) > 2.8 * static_cast<float>( PROMIEN)) { // cout << "jestem tu 21 " << endl; if (nowe_kolo->xCircle - kolka.back()->xCircle > 0) nowe_kolo->xCircle -= 10; else nowe_kolo->xCircle += 10; } else if (static_cast<float>(odleglosc(0, nowe_kolo->yCircle, 0, kolka.back()->yCircle)) > 2.8 * static_cast<float>( PROMIEN)) { // cout << "jestem tu 22 " << endl; if (nowe_kolo->yCircle - kolka.back()->yCircle > 0) nowe_kolo->yCircle -= 10; else nowe_kolo->yCircle += 10; } } } nowe_kolo->promien = PROMIEN; nowe_kolo->czasKolka = TIME; //if(kolka.empty()) //{ nowe_kolo->kolor.set(ofRandom(255), ofRandom(255), ofRandom(255)); /*} else { if(kolka.back()->kolor.red>230 || kolka.back()->kolor.g>230 || kolka.back()->kolor.b>230) { nowe_kolo->kolor.set(ofRandom(120,245), ofRandom(120,245), ofRandom(120,245)); } if(kolka.back()->kolor.r<90 || kolka.back()->kolor.g<90 || kolka.back()->kolor.b<90) { nowe_kolo->kolor.set(ofRandom(120,245), ofRandom(120,245), ofRandom(120,245)); } nowe_kolo->kolor=(kolka.back()->kolor+5); }*/ kolka.push_back(nowe_kolo); roznica=FALSE; } //dodawanie nowego kolka je¿eli ró¿nica > próg } for (int i = 0; i < kolka.size(); i++) { kolka[i]->czasKolka = kolka[i]->czasKolka - 1; if (kolka[i]->promien >= MIN_OGRANICZENIE) kolka[i]->promien -= ZMNIEJSZANIE; }//zmniejszanie wszystkich kol wiêkszych od MIN_OGRANICZENIE for (int i = 0; i < kolka.size(); i++) { if (kolka[i]->czasKolka <= 0) { kolka.erase(kolka.begin() + i); if(wynik) wynik--; } }//usuwanie tych które zniknely } }