-
Pranešimai
96 -
Užsiregistravo
-
Lankėsi
-
Atsiliepimai
0%
Turinio tipas
Forumas
Kalendorius
Parduotuvė
Akademija
Skelbimai
deividas707 Pranešimai
-
-
Sveiki, turiu tokia problema, kad koordinaciu asyje esanti pele ne visada joje graziai juda. Kito budo nezinau, bet as turiu to judancio juodo objekto koorinates(3, 10) ir turiu mouse korinates(11, 7). Paprasciausiai ciklu didinu arba mazinu juodo objekto koorinates(taip jis vaiksto iki mano norimos vietos). Kad ir siame paveiksliuke, jis turi nukeliauti 8 pikselius i desne ir 2 pikselius i virsu. Sukant cikla objektas juda netolygiai(t.y. 8 pikselius is desne ir TIK 2 i virsu!!!). Tada objektas juda oranzine linija. Ar kazkaip galima tai sutvarkyti? Gal yra kazkokiu biblioteku ar judejimo efektyviu algoritmu? Dekui
-
Dekui, dariau kiek kitaip, o Thread.sleep() zinojau, bet ji man netiko, bet kokiu atveju turiu kita klausima.
public class MouseListener implements MouseMotionListener{ public void mouseDragged(MouseEvent arg0) { } public void mouseMoved(MouseEvent e) { currentX = e.getX(); currentY = e.getY(); if(onWall){ timer.schedule(new TimerTask(){ public void run() { saveX = e.getX(); saveY = e.getY(); start(); // kvieciu metoda } }, 1000); onWall = false; } } }
Taigi pajudinus pelyte as kvieciu start() metoda, beda ta, kad tarikm sitame metode
public boolean test(int xC, int yC, int sizeX, int sizeY){ if(xC == sizeX || yC == sizeY){ onWall = true; start(); // to padaryti negaliu return false; }else{ return true; } }
as turiu kviesti vel ta start() metoda, bet tiesiogiai to padaryti negaliu, nes man reikalingos kitos currentX, currentY ir t.t. reiksmes. Tad kaip man vel kviesti ta mouseMoved(MouseEvent e) metoda, jei argumento MouseEvent neturiu?
-
Sveiki, ar yra java kalboje kazkoks laikmatis, kad pvz kreipiantis i kazkoki metoda kazkoks dalykas butu sustabdytas pvz 10 sekundziu?
-
Sveiki, niekaip nesigauna padaryti taip, kad pasirinkus korta butu nusiustas jortos indeksas masyve i ActionListener(ajeme as noriu tureti kortos indeksa). Ka darau ne taip?
public void setFrame(){ JFrame frame2 = new JFrame("Select Cards"); frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Color color = new Color(0,100,0); try{ JPanel panel2 = new JPanel(); ButtonCheckListener[] listeners = new ButtonCheckListener[52]; for(j=0; j<52; j++){ listeners[j] = new ButtonCheckListener(); BufferedImage buttonIcon = ImageIO.read(new File("Card_res" + j + ".png")); // kortos failas button[j] = new JButton(new ImageIcon(buttonIcon)); button[j].setBorderPainted(false); button[j].setFocusable(false); button[j].addActionListener(listeners[j]); // kiekvienai kortai darau atskira ActionListener button[j].setBackground(color); panel2.add(button[j]); } panel2.setBackground(color); frame2.getContentPane().add(panel2); }catch(Exception ex){ ex.printStackTrace(); } frame2.setSize(1830,610); frame2.setVisible(true); }
class ButtonCheckListener implements ActionListener{ public void actionPerformed(ActionEvent a) { // cia turetu buti kortos indeksas, bet sitoje vietoje neaisku ka daryti, (nera aisku KURIA KORTA pasirenka ActionListener'iui) } }
-
Čia tau pagal užduotį reikia dinamiškai susikurti objektus? Ar kažką darysi su jais tokio, ko statiškai sukurti objektai neleidžia? Nes daug geresnis variantas būtų susikurti statiškai ir vietoj rodyklės (pointer) perduoti objekto adresą (reference) su & priešakį.
Man pagal uzduoti taip duota. Bet idomu kuo tai butu geriau?
-
~MyForm() (destuktorius) būtų puiki vieta tą padaryti, nebent kažkoks komponentas tampa „nebereikalingas“ anksčiau, tokiu atveju, trink tada, kada objekto nebereikia.
Dekui, kaip ir viskas taip. Klausimas tik vienas ka daro tas if components? Nes jei tame if'e prasaus delete obj viskas veikia puikiai, bet jei parasau po ~MyForm() gaunu errora kodel?
~MyForm() { // jei cia trinu atminti gaunu errora if (components) { // cia viskas gerai delete components; } }
-
Sveiki, turiu toki klausima, kaip suprantu kiekviena karta kai yra sukuriamas kazkoks new Class Obj reikia ji ir istrinti. Klausimas kurioje vietoje reiktu trinti ta objekta (tiksliau atminti) grafineje aplinkoje. Imesiu kodo fragmenta
public: MyForm(void) { InitializeComponent(); // //TODO: Add the constructor code here // ab = new AboSarasas; kai = new KainosMiest; n = new AboSarasas; sar = new AboSarasas; pin = new AboSarasas; } protected: /// <summary> /// Clean up any resources being used. /// </summary> ~MyForm() { if (components) { delete components; } } private: /// <summary> /// Required designer variable. /// </summary> AboSarasas *ab; KainosMiest *kai; AboSarasas *n; AboSarasas *sar; AboSarasas *pin; double vid;
-
As galvoje turejau nenaudoti gatavu klasiu tokiu kaip map, list, vector, nes destytojas iskarto kabinsis,o savo kurtas tai zinoma, kad butina naudoti.
Parasiau as tau algortima kuris isrenka unikalius irasus http://pastebin.com/zFA6xh26, na ir kai issirinksi kita jau baika, tada kaip sakiau begi per visas eilutes matricos kur sutinka pavadinimas spausdini ir viskas ^_^
Dekui, siaip idomus pavadinimai tavo. Pasiziuresiu ir tavo varianta jis dar trumpesnis atrodo. Tik galia kad tokiu dalyku kaip compare nezinau :/
-
n rodo masyvo bankai dydi, t.y. to masyvo, kuris laiko visus skirtingus bankus. Pradzioje jis turi buti lygus 0. O siaip del erroro, tai probably persoki kazkur tai rezius masyvo kazkokio. Susitvarkyk ka parasiau auksciau ir patestuok.
hafni, ziauriai tau aciu radau klaida :)
void TikSp(Matrica M, string bankai[], int n){ for(int i=0; i<n; i++){ cout << bankai[i] << ": "; for(int j=0; j<M.ImtiSK(); i++){ // is iprocio pliusinau i...... if(bankai[i] == M.ImtiBankas(j)){ cout << M.ImtiVardas(j) << " " << M.ImtiNr(j) << endl; } } } }
Gal tu kartais is kauno? :D Jei taip tai susisiekiam pica pavaisinciau! :) Dekui dar karta ;)
-
-
Nenaudok jokiu mapu ar listu, univere pirmuose kursuose ziuri i algoritimzavima, o ne puiku klasiu zinojima ir ju panaudojima.
Algoritmas kuri siulau as:
- Iš matricos stulpelio kur yra banku pavadinimai, išrink unikalius pavadinimus ir sudėk į naują vienmatį masyvą.
- Tada suki ciklą cikle, pirmas ciklas tiek kiek vienmačiame masyve yra įrašų, o antras ciklas per visas matricos eilutes eina, jai sutinka banku pavadinimai - spausdini.
Kadangi mums yra privaloma salyga klase as nieko negaliu padaryti. Pats ju tikrai nenaudociau jei nebutu privaloma. Siaip labai keista kad skaiciavimo algoritma kuris yra sudetingesnis nei si problema sutalpinau i 20 eil., o va sito cia ir nepadarau. hafnio variantas labai geras, tik kazkodel mano programa luzta... Jei butu imanoma naudociau savo sugalvota algoritma, bet musu destytojas labai ptksta kai atnesi baisini griozdiska algoritma :D hafnio variantas labai geras, nes jis nera ilgas, o va mano tai.... :D
- Iš matricos stulpelio kur yra banku pavadinimai, išrink unikalius pavadinimus ir sudėk į naują vienmatį masyvą.
-
O dar klase "Matrica" pashare'ink, nes dabar bijau suklysti, nes manau, kad joje tu ten laikai vardu/numeri/banku masyvus?
prasau: http://pastebin.com/9SuDBN0m
-
Su mapai's turetu buti kazkas panasaus:
include <vector>; include <map>; map<string, vector<Duomenu_tipas_apie_zmogu> > mapas; for (int i = 0; i < Zmoniu_kiekis; i++) map[Duomenys.ImtiBanka(i)].push_back(ZmoniuMasyvas(i)); map<string, vector<Duomenu_tipas_apie_zmogu> >:: iterator it; for (it = mapas.begin(); it != mapas.end(); it++) cout << it->first << ": "; // Atspausdina banko varda; (for int i = 0; i < it->second.size(); i++) cout << it->second[i] << endl; // Atspausdina duomenis apie zmogu, tikriausiai // turetu buti kazkaip taip: // it->second[i].ImtiVarda() << " " << // it->second[i].ImtiDarKazka() ...
Siaip butu geriau kad imestum i koki pastebin pilna koda, nes dabar nelabai aisku kaip tu ten saugai tuos duomenis apie zmones, ar turi kazkoki tai zmoniu masyva, ar konteineri klase ar dar ka.
Zinoma, kad galiu :), nors cia Jums daug laiko tikriausiai uzims http://pastebin.com/9NpSufhx
-
void AtrenkamSkirtingus(Duomenu_tipas Duomenys, string bankai[], int n) { for (int i = 0; i < Duomenys.ImtiSK(); i++) if (ArYra(Duomenys.ImtiBanka(i), bankai, n) == false) bankai[n++] = Duomenys.ImtiBanka(i); } bool ArYra(string Bankas, string bankai[], int n) { for (int i = 0; i < n; i++) if (bankai[i] == Bankas) return true; return false; } void Spausdinam(Duomenu_tipas Duomenys, string bankai[], int n) { for (int i = 0; i < n; i++) cout << bankas[i] << ": "; for (int j = 0; j < Duomenys.ImtiSK(); j++) if (bankas[i] == Duomenys.ImtiBanka()) cout << "Cia atspausdini duomenis kazkokius apie ta zmogu"; } maine tokie iskvietimai: AtrenkamSkirtingus(Duomenys, bankai, n); Spausdinam(Duomenys, bankai, n);
Pasireguliuok pagal save, klaidas kokias zioplas pataisyk, bet is esmes viskas turi veikt.
Dekui, nors sitas dalykas mane nebeveikia, bet aciu uz algoritma. Duoemnu_Tipas pas mane yra klase (Matrica M). Programa kompiliuoja, bet ji nuluzta ir raso, kad identifier "M" is undefinded. Gal bent isivaizduojat kas cia?
-
Aišku sugebėsi, padėsim jei ką :)
Dekui ;) matai yra labai negerai tas, kad as nesugalvoju algoritmo
void Vienodi(Matrica M, Matrica N, string bankai[]){ int k=0; map<string, int>ban; string elnr = M.ImtiBankas(0); for(int i=0; i<M.ImtiSK(); i++){ if(bankai[i] == elnr){ // ka cia daryti, kad butu pasalinti vienodi bankai } } }
Pasirasiau ta baisini tanka, kur viskas ganetinai suprantama (nu bent man) bet kai reikia mazos f-jos man nelabai iseina. Sako destytojas kad as per sudetingai mastau, bet kitaip as nieko nesugalvoju. Va ir dabar kaip reiktu salinti is bankai masyvo pasikartojancia reiksme?
-
Aš tai patarčiau pasižiūrėt Mapus ir pasidaryt. Nėra sudėtingas dalykas vis tik. Be to vistiek už metų teks mokytis. Bus ir lengviau, ir jau dabar būsi praplatinęs savo programavimo žinias.
Zinau. Beda ta kad ryt paskutinis atsiskaitymas. Nezinau ar sugebesiu padaryti. :D Nes as kaip ir pasidares, bet destyotjas patikrino ir sake kad sita vieta siulyciau koreguoti, nes salygoj vienas zodis skiriasi :D
-
Zodziu, bus negerai. To algoritmo tikrai nerodysiu, nes jis sakao kad funkkcija negali buti didele.... o kitokio sprendimo budo as neismastau.
-
Va kiek prisidariau...
string tikbankai[CMAX]; int cI = 0; string bank = M.ImtiBankas(0); bool yra = false; while(!yra){ cout << bank << ": " << endl; for(int i=0; i<M.ImtiSK(); i++){ if(M.ImtiBankas(i) == bank){ cout << M.ImtiVardas(i) << " " << M.ImtiNr(i) << endl; bool radom = false; for(int k=0; k<cI; ++k){ if(tikbankai[k] == bank){ radom = true; } } if(radom == false){ tikbankai[cI++] = bank; } } } bool radom = false; for(int i = 0; i < M.ImtiSK(); ++i){ for(int k = 0; k < cI; ++k){ if(tikbankai[k] == M.ImtiBankas(i)){ radom = true; } } if(radom == false){ bank = M.ImtiBankas(i); break; }else{ if(i == M.ImtiSK() - 1){ yra = true; }else{ radom = false; } } } }
Destytojui tikrai nepatiks, o trumpiau niekaip nesugalvoju, kaip padaryti. Ir lyg nesudetingo dalyko prasau :). At imanoma kazkaip be 80 eiluciu funkcijos tai padaryti?
-
Kokie galimi bankų pavadinimai žinai?
Tada galėtum:
cout<<"DNB: "<<endl; for (int i=0; i<M.ImtiSK(); i++) if (M.ImtiBankas(i)=="DNB") cout<<visa informacija, išskyrus banko pavadinimas<<" ";
Ir taip su kiekvienu banku.
Jei nežinai, kokie bankų pavadinimai gali būti, tada kaip ir sakė: susirikiuoji žmones pagal bankus ir spausdini iš eilės prie vieno banko tol, kol tie bankai vienodi. Jei nebevienodi - spausdini prie kito.
cout<<M.ImtiBankas(i)<<": "; while (M.ImtiBankas(i+1)==M.ImtiBankas(i)) cout<<informacija apie žmogų<<" ";
Dekui, banku pavadinimu nezinau. + Cia rikiavimas kazin ar tiks, nes as turesiu prie kiekvieno banko atspausdinti ir ta saksaitos numeri. (a ji atskirai nusiskaitau, nes destytojas taip liepe). Cia ir yra visos bedos kad dela apribojimu ir del mano ziniu trukumu nezinau nuo ko pradeti
-
o tau butinai, kad tie patys banku pavadinimai pradzioj butu? jei ne tai tiesiog surikiuok pagal banku pavadinimus
As taip noreciau kad butu pradzioj. Daug tvarkingiau programa atrodytu. Tik nezinau kaip tai padaryti. Yra vienas variantas Mapai. Su jais kolkas nesimokiau, bet manau kad patogu cia butu su jais. Kazkaip noretusi tradiciniais paprastais metodais padaryti, bet jau manau kad nelabai imanoma cia :D
-
yra pasiulymu? butu gerai, tada visa programa galutinai uzbaiges buciau. Kazkaip pakibau ant sitos vietos ir nera net minciu ka daryti.
-
2 ciklus daryk (ciklas cikle, eini per juos ir tikrini)
Man butent sito ir reikia. Darau va ka
string laik[CMAX];
for(int i=0; i<M.ImtiSK(); i++){ for(int j=i; j<M.ImtiSK(); j++){ if(M.ImtiBankas(i) == bankai[j]){ laik[i] = M.ImtiBankas(i); } } cout << laik[i] << endl; }
bet cia blogai. Nelabai suprantu kaip kitaip galima atlikti norimus veiksmus.
-
Objectas: vardas, pavardė, bankas, sąskaita, kažkoks skaičius.
Pasidarai elementarų nuskaitymą į tokius objektus. Tuomet susirandi skirtingus, ir kiekvienam išspausdini jo visą sarašą... Juk nesunku :)
As jau viska esu nuskaites, problema ta kad nezinau kaip reiktu rasti vienodus ir kaip isspausdinti viska tavrkingai.
-
Sveiki, turiu tokius duomenis
Laurynas Laurynaitis, DNB, LT123456789, 15Mindaugas Mindaugaitis, Swedbank, LT987654321, 100
Gintautas Gintautaitis, DNB, LT87543321156, 47
Vidmantas Vidmantaitis, Sekundė, LT465484998, 55
Vilma Vilmantaitė, DNB, LT4484465415, 45
ir man reiktu, kad butu atrinkti tie patys banku pavadinimai ir butu isspausdinta
DNB: Laurynas Laurynaitis LT123456789 15 LT, Gintautas Gintautaitis LT87543321156 47, Vilma Vilmantaitė LT4484465415 45Swedbank: Mindaugas Mindaugaitis LT987654321 100
Sekundė: Vidmantas Vidmantaitis LT 465484998 55
Ar yra ideju kaip tai butu imanoma padaryti?
Peles sekimas
Programuotojų kampas
Atrašyta
O cia butina pasakyti kad noriu Java, C++ ar dar kazkuo daryti? As prasau kazkokio universalaus sekimo algoritmo(kas manau tikrai turetu buti)...